SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/get_grid_dim.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE GET_GRID_DIM(HGRID,KGRID_PAR,PGRID_PAR,ORECT,KDIM1,KDIM2)
00003 !     ##############################################################
00004 !
00005 !!**** *GET_GRID_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 !!      07/2011     add IGN grid (B. Decharme)
00026 !----------------------------------------------------------------------------
00027 !
00028 !*    0.     DECLARATION
00029 !            -----------
00030 !
00031 USE MODI_GET_GRID_DIM_CONF_PROJ
00032 USE MODI_GET_GRID_DIM_CARTESIAN
00033 USE MODI_GET_GRID_DIM_LONLAT_REG
00034 USE MODI_GET_GRID_DIM_GAUSS
00035 USE MODI_GET_GRID_DIM_LONLATVAL
00036 USE MODI_GET_GRID_DIM_IGN
00037 !
00038 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00039 USE PARKIND1  ,ONLY : JPRB
00040 !
00041 IMPLICIT NONE
00042 !
00043 !*    0.1    Declaration of arguments
00044 !            ------------------------
00045 !
00046  CHARACTER(LEN=10),               INTENT(IN)    :: HGRID     ! grid type
00047 INTEGER,                         INTENT(IN)    :: KGRID_PAR ! size of PGRID_PAR
00048 REAL,    DIMENSION(KGRID_PAR),   INTENT(IN)    :: PGRID_PAR ! grid parameters
00049 LOGICAL,                         INTENT(OUT)   :: ORECT     ! T if rectangular grid
00050 INTEGER,                         INTENT(OUT)   :: KDIM1     ! 1st dimension
00051 INTEGER,                         INTENT(OUT)   :: KDIM2     ! 2nd dimension
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_GRID_DIM',0,ZHOOK_HANDLE)
00060 SELECT CASE (HGRID)
00061 !     
00062   CASE("CONF PROJ ")
00063     CALL GET_GRID_DIM_CONF_PROJ(KGRID_PAR,PGRID_PAR,ORECT,KDIM1,KDIM2)
00064 
00065   CASE("CARTESIAN ")
00066     CALL GET_GRID_DIM_CARTESIAN(KGRID_PAR,PGRID_PAR,ORECT,KDIM1,KDIM2)
00067 
00068   CASE("LONLAT REG")
00069     CALL GET_GRID_DIM_LONLAT_REG(KGRID_PAR,PGRID_PAR,ORECT,KDIM1,KDIM2)
00070 
00071   CASE("GAUSS     ")
00072     CALL GET_GRID_DIM_GAUSS(KGRID_PAR,PGRID_PAR,ORECT,KDIM1,KDIM2)
00073 
00074   CASE("LONLATVAL ")
00075     CALL GET_GRID_DIM_LONLATVAL(KGRID_PAR,PGRID_PAR,ORECT,KDIM1,KDIM2)
00076 
00077   CASE("IGN       ")
00078     CALL GET_GRID_DIM_IGN(KGRID_PAR,PGRID_PAR,ORECT,KDIM1,KDIM2)
00079 
00080   CASE("NONE      ")
00081     ORECT = .FALSE.
00082     KDIM1 = 0
00083     KDIM2 = 0
00084 
00085 END SELECT
00086 IF (LHOOK) CALL DR_HOOK('GET_GRID_DIM',1,ZHOOK_HANDLE)
00087 !
00088 !-------------------------------------------------------------------------------
00089 !
00090 END SUBROUTINE GET_GRID_DIM