53 USE modd_data_cover_par
, ONLY : nvegtype, nvt_gras, nvt_trog
55 USE modd_prep_teb_greenroof
, ONLY : ngrid_level, xgrid_soil
74 INTEGER,
INTENT(IN) :: KDIM
76 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
82 CHARACTER(LEN=12) :: YRECFM
83 CHARACTER(LEN=100) :: YCOMMENT
88 LOGICAL :: GAGRI_TO_GRASS
90 REAL(KIND=JPRB) :: ZHOOK_HANDLE
97 IF (
lhook)
CALL dr_hook(
'READ_PGD_TEB_GREENROOF_PAR_N',0,zhook_handle)
99 gagri_to_grass=.false.
102 CALL read_surf(hprogram,yrecfm,dtv%NTIME,iresp)
106 CALL read_surf(hprogram,yrecfm,io%CTYP_COV,iresp)
110 dtv%LIMP_EMIS=.false.
113 DO jlayer=1,io%NGROUND_LAYER
115 WRITE(yrecfm,fmt=
'(A7,I2.2)')
'D_OM_GR',jlayer
116 CALL read_surf(hprogram,yrecfm,s%XSOC(:,jlayer),iresp,hcomment=ycomment
120 DO jlayer=1,io%NGROUND_LAYER
122 WRITE(yrecfm,fmt=
'(A9,I2.2)')
'D_SAND_GR',jlayer
123 CALL read_surf(hprogram,yrecfm,k%XSAND(:,jlayer),iresp,hcomment=ycomment
127 DO jlayer=1,io%NGROUND_LAYER
129 WRITE(yrecfm,fmt=
'(A9,I2.2)')
'D_CLAY_GR',jlayer
130 CALL read_surf(hprogram,yrecfm,k%XCLAY(:,jlayer),iresp,hcomment=ycomment
134 ALLOCATE(dtv%XPAR_LAI (kdim,dtv%NTIME,1))
136 WRITE(yrecfm,fmt=
'(A8,I2.2)')
'D_LAI_GR',jtime
137 CALL read_surf(hprogram,yrecfm,dtv%XPAR_LAI(:,jtime,1),iresp,hcomment=ycomment
146 ALLOCATE(dtv%XPAR_VEG (kdim,dtv%NTIME,1))
147 ALLOCATE(dtv%XPAR_RSMIN (kdim,1))
148 ALLOCATE(dtv%XPAR_GAMMA (kdim,1))
149 ALLOCATE(dtv%XPAR_WRMAX_CF (kdim,1))
150 ALLOCATE(dtv%XPAR_RGL (kdim,1))
151 ALLOCATE(dtv%XPAR_CV (kdim,1))
152 ALLOCATE(dtv%XPAR_DG (kdim,io%NGROUND_LAYER,1))
153 ALLOCATE(dtv%XPAR_ROOTFRAC (kdim,io%NGROUND_LAYER,1))
154 ALLOCATE(dtv%XPAR_DICE (kdim,1))
155 ALLOCATE(dtv%XPAR_Z0 (kdim,dtv%NTIME,1))
156 ALLOCATE(dtv%XPAR_Z0_O_Z0H (kdim,1))
157 ALLOCATE(dtv%XPAR_ALBNIR_VEG (kdim,1,1))
158 ALLOCATE(dtv%XPAR_ALBVIS_VEG (kdim,1,1))
159 ALLOCATE(dtv%XPAR_ALBUV_VEG (kdim,1,1))
160 ALLOCATE(dtv%XPAR_ALBNIR_SOIL(kdim,1,1))
161 ALLOCATE(dtv%XPAR_ALBVIS_SOIL(kdim,1,1))
162 ALLOCATE(dtv%XPAR_ALBUV_SOIL (kdim,1,1))
163 ALLOCATE(dtv%XPAR_EMIS (kdim,dtv%NTIME,1))
164 ALLOCATE(dtv%XPAR_VEGTYPE (kdim,nvegtype))
165 ALLOCATE(dtv%XPAR_GMES (kdim,1))
166 ALLOCATE(dtv%XPAR_RE25 (kdim,1))
167 ALLOCATE(dtv%XPAR_BSLAI (kdim,1))
168 ALLOCATE(dtv%XPAR_LAIMIN (kdim,1))
169 ALLOCATE(dtv%XPAR_SEFOLD (kdim,1))
170 ALLOCATE(dtv%XPAR_GC (kdim,1))
171 ALLOCATE(dtv%XPAR_DMAX (kdim,1))
172 ALLOCATE(dtv%XPAR_F2I (kdim,1))
173 ALLOCATE(dtv%LPAR_STRESS (kdim,1))
174 ALLOCATE(dtv%XPAR_H_TREE (kdim,1))
175 ALLOCATE(dtv%XPAR_CE_NITRO (kdim,1))
176 ALLOCATE(dtv%XPAR_CF_NITRO (kdim,1))
177 ALLOCATE(dtv%XPAR_CNA_NITRO (kdim,1))
179 dtv%XPAR_VEG (:,:,:) =
xundef 180 dtv%XPAR_RSMIN (:,:) =
xundef 181 dtv%XPAR_GAMMA (:,:) =
xundef 182 dtv%XPAR_WRMAX_CF (:,:) =
xundef 183 dtv%XPAR_RGL (:,:) =
xundef 184 dtv%XPAR_CV (:,:) =
xundef 185 dtv%XPAR_DG (:,:,:) =
xundef 186 dtv%XPAR_DICE (:,:) =
xundef 187 dtv%XPAR_ROOTFRAC (:,:,:) =
xundef 188 dtv%XPAR_Z0 (:,:,:) =
xundef 189 dtv%XPAR_Z0_O_Z0H (:,:) =
xundef 190 dtv%XPAR_ALBNIR_VEG (:,:,:) =
xundef 191 dtv%XPAR_ALBVIS_VEG (:,:,:) =
xundef 192 dtv%XPAR_ALBUV_VEG (:,:,:) =
xundef 193 dtv%XPAR_ALBNIR_SOIL (:,:,:) =
xundef 194 dtv%XPAR_ALBVIS_SOIL (:,:,:) =
xundef 195 dtv%XPAR_ALBUV_SOIL (:,:,:) =
xundef 196 dtv%XPAR_EMIS (:,:,:) =
xundef 197 dtv%XPAR_VEGTYPE (:,:) =
xundef 198 dtv%XPAR_GMES (:,:) =
xundef 199 dtv%XPAR_RE25 (:,:) =
xundef 200 dtv%XPAR_BSLAI (:,:) =
xundef 201 dtv%XPAR_LAIMIN (:,:) =
xundef 202 dtv%XPAR_SEFOLD (:,:) =
xundef 203 dtv%XPAR_GC (:,:) =
xundef 204 dtv%XPAR_DMAX (:,:) =
xundef 205 dtv%XPAR_F2I (:,:) =
xundef 206 dtv%LPAR_STRESS (:,:) = .false.
207 dtv%XPAR_H_TREE (:,:) =
xundef 208 dtv%XPAR_CE_NITRO (:,:) =
xundef 209 dtv%XPAR_CF_NITRO (:,:) =
xundef 210 dtv%XPAR_CNA_NITRO (:,:) =
xundef 224 dtv%XPAR_VEGTYPE(:,:) = 0.
225 IF (io%CTYP_COV ==
'GRASS') dtv%XPAR_VEGTYPE(:, nvt_gras) = 1.
226 IF (io%CTYP_COV ==
'SEDUM') dtv%XPAR_VEGTYPE(:, nvt_trog) = 1.
230 dtv%XPAR_F2I(:,:) = 0.3
233 dtv%XPAR_Z0_O_Z0H(:,:) = 10.
236 dtv%LPAR_STRESS(:,:) = .false.
243 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_ALBNIR_VEG(ji,:,:)= 0.3
244 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_ALBNIR_VEG(ji,:,:)= 0.1
246 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_ALBVIS_VEG(ji,:,:)= 0.1
247 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_ALBVIS_VEG(ji,:,:)= 0.1
249 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_ALBUV_VEG(ji,:,:) = 0.0
250 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_ALBUV_VEG(ji,:,:) = 0.1
254 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_RSMIN(ji,:)= 120
255 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_RSMIN(ji,:)= 150.
260 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_GAMMA(ji,:)= 0.
261 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_GAMMA(ji,:)= 0.
265 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_WRMAX_CF(ji,:)= 0.2
266 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_WRMAX_CF(ji,:)= 0.2
270 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_RGL(ji,:)= 100.
271 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_RGL(ji,:)= 100.
275 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_CV(ji,:)= 2.e-5
276 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_CV(ji,:)= 2.e-5
280 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_GMES(ji,:)= 0.020
281 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_GMES(ji,:)= 0.020
286 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_RE25(ji,:)= 3.0e-7
287 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog )>0.) dtv%XPAR_RE25(ji,:)= 3.0e-7
290 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_GC(ji,:)= 0.00025
291 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_GC(ji,:)= 0.00025
294 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_BSLAI(ji,:)= 0.36
295 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_BSLAI(ji,:)= 0.06
298 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_DMAX(ji,:)= 0.1
299 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_DMAX(ji,:)= 0.1
302 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_SEFOLD(ji,:)= 90.*
xday 303 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_SEFOLD(ji,:)= 60.*
xday 306 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_LAIMIN (ji,:) = 0.3
307 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_LAIMIN (ji,:) = 0.3
310 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_CE_NITRO(ji,:)= 5.56
311 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_CE_NITRO(ji,:)= 3.79
314 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_CF_NITRO(ji,:)= 6.73
315 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_CF_NITRO(ji,:)= 9.84
318 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_CNA_NITRO(ji,:)= 1.9
319 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog )>0.) dtv%XPAR_CNA_NITRO(ji,:)= 1.3
322 dtv%XPAR_DG(ji, 1,:) = xgrid_soil(ngrid_level - 5)
323 dtv%XPAR_DG(ji, 2,:) = xgrid_soil(ngrid_level - 4)
324 dtv%XPAR_DG(ji, 3,:) = xgrid_soil(ngrid_level - 3)
325 dtv%XPAR_DG(ji, 4,:) = xgrid_soil(ngrid_level - 2)
326 dtv%XPAR_DG(ji, 5,:) = xgrid_soil(ngrid_level - 1)
327 dtv%XPAR_DG(ji, 6,:) = xgrid_soil(ngrid_level - 0)
330 dtv%XPAR_ROOTFRAC(ji, 1,:) = 0.04
331 dtv%XPAR_ROOTFRAC(ji, 2,:) = 0.36
332 dtv%XPAR_ROOTFRAC(ji, 3,:) = 0.68
333 dtv%XPAR_ROOTFRAC(ji, 4,:) = 1.
334 dtv%XPAR_ROOTFRAC(ji, 5,:) = 1.
335 dtv%XPAR_ROOTFRAC(ji, 6,:) = 1.
338 dtv%XPAR_DICE(ji,:) = dtv%XPAR_DG(ji,1,:)
347 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_VEG (ji,jtime,:) = 0.9
349 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_VEG (ji,jtime,:) = 0.9
353 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_Z0 (ji,jtime,:) = 0.01
354 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_Z0 (ji,jtime,:) = 0.01
360 IF(dtv%XPAR_VEGTYPE(ji,nvt_gras)>0. ) dtv%XPAR_EMIS (ji,jtime,:) = 0.
361 IF(dtv%XPAR_VEGTYPE(ji,nvt_trog)>0. ) dtv%XPAR_EMIS (ji,jtime,:) = 0.
367 IF (
lhook)
CALL dr_hook(
'READ_PGD_TEB_GREENROOF_PAR_N',1,zhook_handle)
subroutine read_pgd_teb_greenroof_par_n(DTV, IO, S, K, KDIM, HPRO