1 !SURFEX_LIC Copyright 1994-2014 Meteo-France
2 !SURFEX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SURFEX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SURFEX_LIC for details. version 1.
6 SUBROUTINE READ_PGD_FLAKE_n(HPROGRAM)
7 ! #########################################
9 !!**** *READ_PGD_FLAKE_n* - read FLAKE physiographic fields
31 !! V. Masson *Meteo France*
36 !-------------------------------------------------------------------------------
41 USE MODD_TYPE_DATE_SURF
43 USE MODD_DATA_COVER_PAR, ONLY : JPCOVER
44 USE MODD_FLAKE_n, ONLY : XCOVER , XZS , &
46 XWATER_DEPTH , XWATER_FETCH , &
51 USE MODD_FLAKE_GRID_n, ONLY : XLAT, XLON, XMESH_SIZE, CGRID, XGRID_PAR, NDIM
58 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK
59 USE PARKIND1 ,ONLY : JPRB
61 USE MODI_GET_TYPE_DIM_n
65 !* 0.1 Declarations of arguments
66 ! -------------------------
68 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! calling program
70 !* 0.2 Declarations of local variables
71 ! -------------------------------
73 INTEGER :: IRESP ! Error code after redding
75 CHARACTER(LEN=LEN_HREC) :: YRECFM ! Name of the article to be read
77 REAL(KIND=JPRB) :: ZHOOK_HANDLE
78 !-------------------------------------------------------------------------------
80 !* 1D physical dimension
82 IF (LHOOK) CALL DR_HOOK('READ_PGD_FLAKE_N',0,ZHOOK_HANDLE)
84 CALL GET_TYPE_DIM_n('WATER ',NDIM)
88 !* 2. Physiographic data fields:
89 ! -------------------------
93 ALLOCATE(LCOVER(JPCOVER))
94 CALL READ_LCOVER(HPROGRAM,LCOVER)
96 ALLOCATE(XCOVER(NDIM,JPCOVER))
97 CALL READ_SURF(HPROGRAM,'COVER',XCOVER(:,:),LCOVER,IRESP)
103 CALL READ_SURF(HPROGRAM,YRECFM,XZS(:),IRESP)
105 !* latitude, longitude
107 ALLOCATE(XLAT (NDIM))
108 ALLOCATE(XLON (NDIM))
109 ALLOCATE(XMESH_SIZE(NDIM))
110 CALL READ_GRID(HPROGRAM,CGRID,XGRID_PAR,XLAT,XLON,XMESH_SIZE,IRESP)
114 ALLOCATE(XWATER_DEPTH (NDIM))
116 CALL READ_SURF(HPROGRAM,YRECFM,XWATER_DEPTH(:),IRESP)
118 ALLOCATE(XWATER_FETCH (NDIM))
120 CALL READ_SURF(HPROGRAM,YRECFM,XWATER_FETCH(:),IRESP)
122 ALLOCATE(XT_BS (NDIM))
124 CALL READ_SURF(HPROGRAM,YRECFM,XT_BS(:),IRESP)
126 ALLOCATE(XDEPTH_BS (NDIM))
128 CALL READ_SURF(HPROGRAM,YRECFM,XDEPTH_BS(:),IRESP)
130 ALLOCATE(XEXTCOEF_WATER (NDIM))
132 CALL READ_SURF(HPROGRAM,YRECFM,XEXTCOEF_WATER(:),IRESP)
134 IF (LHOOK) CALL DR_HOOK('READ_PGD_FLAKE_N',1,ZHOOK_HANDLE)
135 !-------------------------------------------------------------------------------
137 END SUBROUTINE READ_PGD_FLAKE_n