SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/get_mesh_dim.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE GET_MESH_DIM(HGRID,KGRID_PAR,KL,PGRID_PAR,PDX,PDY,PMESHSIZE)
00003 !     ##############################################################
00004 !
00005 !!**** *GET_MESH_DIM* get the grid mesh dimensions
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!    METHOD
00011 !!    ------
00012 !!   
00013 !!    REFERENCE
00014 !!    ---------
00015 !!
00016 !!    AUTHOR
00017 !!    ------
00018 !!
00019 !!    V. Masson         Meteo-France
00020 !!
00021 !!    MODIFICATION
00022 !!    ------------
00023 !!
00024 !!    Original    03/2004
00025 !!
00026 !----------------------------------------------------------------------------
00027 !
00028 !*    0.     DECLARATION
00029 !            -----------
00030 !
00031 !
00032 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00033 USE PARKIND1  ,ONLY : JPRB
00034 !
00035 USE MODI_GET_MESH_DIM_CONF_PROJ
00036 USE MODI_GET_MESH_DIM_GAUSS
00037 USE MODI_GET_MESH_DIM_IGN
00038 USE MODI_GET_MESH_DIM_LONLAT_REG
00039 USE MODI_GET_MESH_DIM_LONLATVAL
00040 IMPLICIT NONE
00041 !
00042 !*    0.1    Declaration of arguments
00043 !            ------------------------
00044 !
00045  CHARACTER(LEN=10),               INTENT(IN)    :: HGRID     ! grid type
00046 INTEGER,                         INTENT(IN)    :: KGRID_PAR ! size of PGRID_PAR
00047 INTEGER,                         INTENT(IN)    :: KL        ! number of points
00048 REAL,    DIMENSION(KGRID_PAR),   INTENT(IN)    :: PGRID_PAR ! grid parameters
00049 REAL,    DIMENSION(KL),          INTENT(OUT)   :: PDX       ! dimension in x dir. (meters)
00050 REAL,    DIMENSION(KL),          INTENT(OUT)   :: PDY       ! dimension in y dir. (meters)
00051 REAL,    DIMENSION(KL),          INTENT(IN)    :: PMESHSIZE ! mesh size (m2)
00052 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00053 !
00054 !*    0.2    Declaration of other local variables
00055 !            ------------------------------------
00056 !
00057 !----------------------------------------------------------------------------
00058 !
00059 IF (LHOOK) CALL DR_HOOK('GET_MESH_DIM',0,ZHOOK_HANDLE)
00060 SELECT CASE (HGRID)
00061 !     
00062   CASE("CONF PROJ ")
00063     CALL GET_MESH_DIM_CONF_PROJ(KGRID_PAR,KL,PGRID_PAR,PDX,PDY)
00064 
00065   CASE("LONLAT REG")
00066     CALL GET_MESH_DIM_LONLAT_REG(KGRID_PAR,KL,PGRID_PAR,PDX,PDY)
00067 
00068   CASE("GAUSS     ")
00069     CALL GET_MESH_DIM_GAUSS(KGRID_PAR,KL,PGRID_PAR,PMESHSIZE,PDX,PDY)
00070 
00071   CASE("IGN       ")
00072     CALL GET_MESH_DIM_IGN(KGRID_PAR,KL,PGRID_PAR,PDX,PDY)
00073 
00074   CASE("LONLATVAL ")
00075     CALL GET_MESH_DIM_LONLATVAL(KGRID_PAR,KL,PGRID_PAR,PDX,PDY)
00076 
00077   CASE("NONE      ")
00078     PDX(:) = SQRT(PMESHSIZE)
00079     PDY(:) = SQRT(PMESHSIZE)
00080 
00081 END SELECT
00082 IF (LHOOK) CALL DR_HOOK('GET_MESH_DIM',1,ZHOOK_HANDLE)
00083 !
00084 !-------------------------------------------------------------------------------
00085 !
00086 END SUBROUTINE GET_MESH_DIM