|
SURFEX v7.3
General documentation of Surfex
|
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
1.8.0