6 SUBROUTINE greenroof (DTCO, DTI, IG, I, TG, T, TOP, TVG, DTGD, TIR, GRM, &
7 himplicit_wind, tptime, ptsun, ppew_a_coef, ppew_b_coef, &
8 ppet_a_coef, ppeq_a_coef, ppet_b_coef, ppeq_b_coef, &
9 ptstep, pzref, puref, &
10 pta, pqa, pexns, pexna,prhoa, pco2, pps, prr, psr, pzenith, &
12 palbnir_tveg, palbvis_tveg, palbnir_tsoil, palbvis_tsoil, &
13 prn_greenroof,ph_greenroof,ple_greenroof,pgflux_greenroof, &
14 psfco2,pevap_greenroof, puw_greenroof, &
15 pac_greenroof,pqsat_greenroof,pts_greenroof, &
16 pac_agg_greenroof, phu_agg_greenroof,pdeep_flux, &
17 prunoff_greenroof, pdrain_greenroof, pirrig_greenroof )
82 USE modi_vegetation_update_greenroof
83 USE modi_vegetation_evol
86 USE modi_roof_impl_coef
90 USE yomhook
,ONLY : lhook, dr_hook
91 USE parkind1
,ONLY : jprb
101 TYPE(isba_grid_t
),
INTENT(INOUT) :: ig
102 TYPE(isba_t
),
INTENT(INOUT) :: i
104 TYPE(teb_t),
INTENT(INOUT) :: t
112 CHARACTER(LEN=*),
INTENT(IN) :: himplicit_wind
116 REAL,
DIMENSION(:) ,
INTENT(IN) :: ptsun
117 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppew_a_coef
118 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppew_b_coef
119 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppeq_a_coef
120 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppeq_b_coef
121 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppet_a_coef
122 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppet_b_coef
123 REAL ,
INTENT(IN) :: ptstep
124 REAL,
DIMENSION(:) ,
INTENT(IN) :: pzref
125 REAL,
DIMENSION(:) ,
INTENT(IN) :: puref
126 REAL,
DIMENSION(:) ,
INTENT(IN) :: pta
127 REAL,
DIMENSION(:) ,
INTENT(IN) :: pqa
128 REAL,
DIMENSION(:) ,
INTENT(IN) :: pps
129 REAL,
DIMENSION(:) ,
INTENT(IN) :: pexna
130 REAL,
DIMENSION(:) ,
INTENT(IN) :: pexns
131 REAL,
DIMENSION(:) ,
INTENT(IN) :: prhoa
132 REAL,
DIMENSION(:) ,
INTENT(IN) :: pco2
133 REAL,
DIMENSION(:) ,
INTENT(IN) :: prr
134 REAL,
DIMENSION(:) ,
INTENT(IN) :: psr
135 REAL,
DIMENSION(:) ,
INTENT(IN) :: pzenith
136 REAL,
DIMENSION(:) ,
INTENT(IN) :: psw
137 REAL,
DIMENSION(:) ,
INTENT(IN) :: plw
138 REAL,
DIMENSION(:) ,
INTENT(IN) :: pvmod
139 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbnir_tveg
140 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbvis_tveg
141 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbnir_tsoil
142 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbvis_tsoil
144 REAL,
DIMENSION(:) ,
INTENT(OUT) :: prn_greenroof
145 REAL,
DIMENSION(:) ,
INTENT(OUT) :: ph_greenroof
146 REAL,
DIMENSION(:) ,
INTENT(OUT) :: ple_greenroof
147 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pgflux_greenroof
148 REAL,
DIMENSION(:) ,
INTENT(OUT) :: psfco2
149 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pevap_greenroof
150 REAL,
DIMENSION(:) ,
INTENT(OUT) :: puw_greenroof
151 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pac_greenroof
152 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pqsat_greenroof
153 REAL,
DIMENSION(:) ,
INTENT(INOUT) :: pts_greenroof
154 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pac_agg_greenroof
155 REAL,
DIMENSION(:) ,
INTENT(OUT) :: phu_agg_greenroof
156 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pdeep_flux
157 REAL,
DIMENSION(:) ,
INTENT(OUT) :: prunoff_greenroof
158 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pdrain_greenroof
159 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pirrig_greenroof
164 CHARACTER(LEN=3) :: hrain
172 REAL,
DIMENSION(0) :: zsodelx
173 REAL,
DIMENSION(SIZE(PPS)) :: zmuf
174 REAL,
DIMENSION(SIZE(PPS)) :: zfsat
175 REAL,
DIMENSION(SIZE(PPS),GRM%TGRO%NLAYER_GR) :: ztopqs
176 REAL,
DIMENSION(SIZE(PPS)) :: zqsb
177 REAL,
DIMENSION(SIZE(PPS)) :: zfwtd
178 REAL,
DIMENSION(SIZE(PPS)) :: zwtd
180 REAL,
DIMENSION(SIZE(PPS)) :: zdircoszw
181 REAL,
DIMENSION(SIZE(PPS),TVG%NNBIOMASS) :: zresp_biomass_inst
185 REAL,
DIMENSION(SIZE(PPS)) :: zta
190 REAL,
DIMENSION(SIZE(PPS)) :: zrn_isba
191 REAL,
DIMENSION(SIZE(PPS)) :: zh_isba
192 REAL,
DIMENSION(SIZE(PPS)) :: zlei_isba
193 REAL,
DIMENSION(SIZE(PPS)) :: zleg_isba
194 REAL,
DIMENSION(SIZE(PPS)) :: zlegi_isba
195 REAL,
DIMENSION(SIZE(PPS)) :: zlev_isba
196 REAL,
DIMENSION(SIZE(PPS)) :: zletr_isba
197 REAL,
DIMENSION(SIZE(PPS)) :: zustar_isba
198 REAL,
DIMENSION(SIZE(PPS)) :: zler_isba
199 REAL,
DIMENSION(SIZE(PPS)) :: zle_isba
200 REAL,
DIMENSION(SIZE(PPS)) :: zgflux_isba
201 REAL,
DIMENSION(SIZE(PPS)) :: zrnsnow
202 REAL,
DIMENSION(SIZE(PPS)) :: zhsnow
203 REAL,
DIMENSION(SIZE(PPS)) :: zhpsnow
204 REAL,
DIMENSION(SIZE(PPS)) :: zgfluxsnow
205 REAL,
DIMENSION(SIZE(PPS)) :: zustarsnow
206 REAL,
DIMENSION(SIZE(PPS)) :: zgrndflux
207 REAL,
DIMENSION(SIZE(PPS)) :: zsrsfc
208 REAL,
DIMENSION(SIZE(PPS)) :: zrrsfc
209 REAL,
DIMENSION(SIZE(PPS)) :: zlesl
210 REAL,
DIMENSION(SIZE(PPS)) :: zcdsnow
211 REAL,
DIMENSION(SIZE(PPS)) :: zchsnow
213 REAL,
DIMENSION(SIZE(PPS)) :: zcg
214 REAL,
DIMENSION(SIZE(PPS)) :: zc1
215 REAL,
DIMENSION(SIZE(PPS)) :: zc2
216 REAL,
DIMENSION(SIZE(PPS)) :: zwgeq
217 REAL,
DIMENSION(SIZE(PPS)) :: zct
218 REAL,
DIMENSION(SIZE(PPS)) :: zrs
219 REAL,
DIMENSION(SIZE(PPS)) :: zch
220 REAL,
DIMENSION(SIZE(PPS)) :: zcd
221 REAL,
DIMENSION(SIZE(PPS)) :: zcdn
222 REAL,
DIMENSION(SIZE(PPS)) :: zri
223 REAL,
DIMENSION(SIZE(PPS)) :: zhu
224 REAL,
DIMENSION(SIZE(PPS)) :: zhug
225 REAL,
DIMENSION(SIZE(PPS)) :: zrn
226 REAL,
DIMENSION(SIZE(PPS)) :: zh
227 REAL,
DIMENSION(SIZE(PPS)) :: zlei
228 REAL,
DIMENSION(SIZE(PPS)) :: zleg
229 REAL,
DIMENSION(SIZE(PPS)) :: zlegi
230 REAL,
DIMENSION(SIZE(PPS)) :: zlev
231 REAL,
DIMENSION(SIZE(PPS)) :: zles
232 REAL,
DIMENSION(SIZE(PPS)) :: zler
233 REAL,
DIMENSION(SIZE(PPS)) :: zletr
234 REAL,
DIMENSION(SIZE(PPS)) :: zevap
235 REAL,
DIMENSION(SIZE(PPS)) :: zsubl
236 REAL,
DIMENSION(SIZE(PPS)) :: zgflux
237 REAL,
DIMENSION(SIZE(PPS)) :: zrestore
238 REAL,
DIMENSION(SIZE(PPS)) :: zustar
239 REAL,
DIMENSION(SIZE(PPS)) :: zdrain
240 REAL,
DIMENSION(SIZE(PPS)) :: zrunoff
241 REAL,
DIMENSION(SIZE(PPS)) :: zmelt
242 REAL,
DIMENSION(SIZE(PPS),GRM%TGR%CUR%TSNOW%NLAYER) :: zsnowtemp
243 REAL,
DIMENSION(SIZE(PPS),GRM%TGR%CUR%TSNOW%NLAYER) :: zsnowliq
244 REAL,
DIMENSION(SIZE(PPS),GRM%TGR%CUR%TSNOW%NLAYER) :: zsnowdz
245 REAL,
DIMENSION(SIZE(PPS)) :: zsnowhmass
246 REAL,
DIMENSION(SIZE(PPS)) :: zmeltadv
247 REAL,
DIMENSION(SIZE(PPS),3) :: ziacan
248 REAL,
DIMENSION(SIZE(PPS)) :: zqs
249 REAL,
DIMENSION(SIZE(PPS)) :: zhv
250 REAL,
DIMENSION(SIZE(PPS)) :: zhort
251 REAL,
DIMENSION(SIZE(PPS)) :: zdrip
252 REAL,
DIMENSION(SIZE(PPS)) :: zts
253 REAL,
DIMENSION(SIZE(PPS)) :: zrrveg
254 REAL,
DIMENSION(SIZE(PPS)) :: zalbt
255 REAL,
DIMENSION(SIZE(PPS)) :: zemist
256 REAL,
DIMENSION(SIZE(PPS)) :: zgpp
257 REAL,
DIMENSION(SIZE(PPS)) :: zresp_auto
258 REAL,
DIMENSION(SIZE(PPS)) :: zresp_eco
259 REAL,
DIMENSION(SIZE(PPS)) :: zfapar
260 REAL,
DIMENSION(SIZE(PPS)) :: zfapir
261 REAL,
DIMENSION(SIZE(PPS)) :: zfaparc
262 REAL,
DIMENSION(SIZE(PPS)) :: zfapirc
263 REAL,
DIMENSION(SIZE(PPS)) :: zlai_effc
264 REAL,
DIMENSION(SIZE(PPS)) :: zmus
265 REAL,
DIMENSION(SIZE(PPS)) :: zfapar_bs
266 REAL,
DIMENSION(SIZE(PPS)) :: zfapir_bs
267 REAL,
DIMENSION(SIZE(PPS)) :: zirrig_flux
268 REAL,
DIMENSION(0,0,0) :: zlitter
269 REAL,
DIMENSION(0,0) :: zsoilcarb, zlignin_struc, zturnover
271 REAL,
DIMENSION(SIZE(PPS)) :: zsndrift
275 REAL,
DIMENSION(SIZE(PPS)) :: zffg
276 REAL,
DIMENSION(SIZE(PPS)) :: zffv
277 REAL,
DIMENSION(SIZE(PPS)) :: zff
278 REAL,
DIMENSION(SIZE(PPS)) :: zalbf
279 REAL,
DIMENSION(SIZE(PPS)) :: zemisf
280 REAL,
DIMENSION(SIZE(PPS)) :: zffrozen
281 REAL,
DIMENSION(SIZE(PPS)) :: zfflood
282 REAL,
DIMENSION(SIZE(PPS)) :: zpiflood
283 REAL,
DIMENSION(SIZE(PPS)) :: ziflood
284 REAL,
DIMENSION(SIZE(PPS)) :: zpflood
285 REAL,
DIMENSION(SIZE(PPS)) :: zleflood
286 REAL,
DIMENSION(SIZE(PPS)) :: zleiflood
287 REAL,
DIMENSION(SIZE(PPS)) :: zffg_nosnow
288 REAL,
DIMENSION(SIZE(PPS)) :: zffv_nosnow
291 REAL,
DIMENSION(SIZE(PPS)) :: zirrig
292 REAL,
DIMENSION(SIZE(PPS)) :: zwatsup
293 REAL,
DIMENSION(SIZE(PPS)) :: zthresholdspt
294 LOGICAL,
DIMENSION(SIZE(PPS)) :: girrigate
295 LOGICAL,
DIMENSION(SIZE(PPS)) :: girriday
299 REAL,
DIMENSION(SIZE(PPS)) :: zgammat
300 REAL,
DIMENSION(SIZE(PPS)) :: ztdeep_a
301 REAL,
DIMENSION(SIZE(PPS)) :: ztdeep_b
303 REAL,
DIMENSION(0) :: zaosip
304 REAL,
DIMENSION(0) :: zaosim
305 REAL,
DIMENSION(0) :: zaosjp
306 REAL,
DIMENSION(0) :: zaosjm
307 REAL,
DIMENSION(0) :: zho2ip
308 REAL,
DIMENSION(0) :: zho2im
309 REAL,
DIMENSION(0) :: zho2jp
310 REAL,
DIMENSION(0) :: zho2jm
311 REAL,
DIMENSION(0) :: zz0effip
312 REAL,
DIMENSION(0) :: zz0effim
313 REAL,
DIMENSION(0) :: zz0effjp
314 REAL,
DIMENSION(0) :: zz0effjm
315 REAL,
DIMENSION(0) :: ztau_wood
316 REAL,
DIMENSION(0,0) :: zincrease
319 LOGICAL,
PARAMETER::omeb=.false.
320 LOGICAL,
PARAMETER::oforc_measure=.false.
321 LOGICAL,
PARAMETER::omeb_litter=.false.
322 LOGICAL,
PARAMETER::omeb_gndres=.false.
323 REAL,
DIMENSION(SIZE(PPS)) :: zp_meb_sca_sw, &
324 zp_rglv, zp_gammav, zp_rsminv, &
325 zp_wrmax_cfv, zp_laiv, &
326 zp_bslai,zp_laimin,zp_h_veg,zpalphan, &
328 zz0_mebv,zz0h_mebv,zz0eff_mebv, &
329 zz0_mebn,zz0h_mebn,zz0eff_mebn, &
330 zp_albnir_veg, zp_albvis_veg, &
331 zp_albnir_soil, zp_albvis_soil, zp_gndlitter
332 REAL,
DIMENSION(SIZE(GRM%TGRP%XROOTFRAC,1),SIZE(GRM%TGRP%XROOTFRAC,2)) :: zp_rootfracv
333 REAL,
DIMENSION(SIZE(PPS)) :: zp_wrl,zp_wrli,zp_wrvn,zp_tv,zp_tl
334 REAL,
DIMENSION(SIZE(PPS)) :: zp_tc,zp_qc
335 REAL,
DIMENSION(SIZE(PPS)) :: zp_swnet_v, zp_swnet_g, zp_swnet_n, zp_swnet_ns, &
336 zp_lwnet_v, zp_lwnet_g, zp_lwnet_n, &
337 zp_levcv, zp_lesc, zp_h_v_c, zp_h_g_c, &
338 zp_letrgv, zp_letrcv, zp_lergv, zp_lelitter, zp_lelitteri, &
339 zp_driplit,zp_rrlit, zp_lercv, zp_h_c_a, zp_h_n_c, &
340 zp_le_c_a, zp_le_v_c, zp_le_g_c, zp_le_n_c, &
341 zp_evap_n_c, zp_evap_g_c, &
342 zp_sr_gn, zp_meltcv, zp_frzcv, &
343 zp_swdown_gn, zp_lwdown_gn
350 LOGICAL :: gagri_to_grass
353 LOGICAL :: gsnowdrift,gsnowdrift_sublim,gsnow_abs_zenith
354 CHARACTER(3) :: ysnowmetamo,ysnowrad
356 REAL(KIND=JPRB) :: zhook_handle
363 IF (lhook) CALL dr_hook(
'GREENROOF',0,zhook_handle)
380 gagri_to_grass = .false.
384 gsnowdrift_sublim=.false.
385 gsnow_abs_zenith=.false.
419 pirrig_greenroof(:) = 0.
424 CALL
roof_impl_coef(ptstep,top%NROOF_LAYER, t%CUR%XD_ROOF, t%CUR%XTC_ROOF, t%CUR%XHC_ROOF, &
425 t%CUR%XT_ROOF, ztdeep_a,ztdeep_b)
449 CALL
teb_irrig(tir%LPAR_GR_IRRIG, ptstep, tptime%TDATE%MONTH, ptsun, &
450 tir%XGR_START_MONTH, tir%XGR_END_MONTH, tir%XGR_START_HOUR, &
451 tir%XGR_END_HOUR, tir%XGR_24H_IRRIG, pirrig_greenroof )
456 CALL
isba(grm%TGRO%CISBA_GR, tvg%CPHOTO, grm%TGRO%LTR_ML_GR,
'WSAT', grm%TGRO%CKSAT_GR, &
457 hrain, grm%TGRO%CHORT_GR, tvg%CC1DRY, grm%TGRO%CSCOND_GR, grm%TGR%CUR%TSNOW%SCHEME, &
458 tvg%CSNOWRES, tvg%CCPSURF, tvg%CSOILFRZ, tvg%CDIFSFCOND, tptime, oflood, &
459 otemp_arp, oglacier, omeb, oforc_measure, omeb_litter, omeb_gndres, ptstep, &
460 himplicit_wind, gagri_to_grass, &
461 gsnowdrift,gsnowdrift_sublim,gsnow_abs_zenith, &
462 ysnowmetamo,ysnowrad, &
463 tvg%XCGMAX, pzref, puref, zdircoszw, pta, &
464 pqa, pexna, prhoa, pps, pexns, prr, psr, pzenith, &
466 psw, plw, pvmod, ppew_a_coef, ppew_b_coef, ppet_a_coef, &
467 ppeq_a_coef, ppet_b_coef, ppeq_b_coef, grm%TGRP%XRSMIN, grm%TGRP%XRGL, grm%TGRP%XGAMMA,&
468 grm%TGRP%XCV, grm%TGRP%XRUNOFFD, grm%TGRP%XSOILWGHT, &
469 grm%TGRO%NLAYER_HORT_GR, grm%TGRO%NLAYER_DUN_GR, &
470 palbnir_tveg, palbvis_tveg, palbnir_tsoil, palbvis_tsoil, &
471 grm%TGR%CUR%XSNOWFREE_ALB, grm%TGRP%XWRMAX_CF, grm%TGRPE%CUR%XVEG, &
472 grm%TGRPE%CUR%XLAI, grm%TGRPE%CUR%XEMIS, grm%TGRPE%CUR%XZ0, &
473 grm%TGRPE%CUR%XZ0/grm%TGRP%XZ0_O_Z0H, grm%TGRP%XVEGTYPE, grm%TGRPE%CUR%XZ0, &
474 zp_rglv, zp_gammav, zp_rsminv, &
475 zp_rootfracv, zp_wrmax_cfv, zp_laiv, &
476 zp_bslai,zp_laimin,zp_h_veg,zpalphan, &
478 zz0_mebv,zz0h_mebv,zz0eff_mebv, &
479 zz0_mebn,zz0h_mebn,zz0eff_mebn, zp_gndlitter, &
480 grm%TGRP%XRUNOFFB_GR, grm%TGRP%XCGSAT, grm%TGRP%XC1SAT, &
481 grm%TGRP%XC2REF, grm%TGRP%XC3, grm%TGRP%XC4B, grm%TGRP%XC4REF, grm%TGRP%XACOEF, &
482 grm%TGRP%XPCOEF, grm%TGRP%XTAUICE, grm%TGRP%XWDRAIN_GR,&
483 ztdeep_a, ztdeep_b, zgammat, grm%TGR%CUR%XPSN, grm%TGR%CUR%XPSNG, &
484 grm%TGR%CUR%XPSNV, grm%TGR%CUR%XPSNV_A, &
485 grm%TGR%CUR%XSNOWFREE_ALB_VEG, grm%TGR%CUR%XSNOWFREE_ALB_SOIL, zirrig, zwatsup, &
486 zthresholdspt, girrigate, girriday, grm%TGRP%LSTRESS, grm%TGRP%XGC, grm%TGRP%XF2I, &
487 grm%TGRP%XDMAX, grm%TGRP%XAH, grm%TGRP%XBH, pco2, grm%TGRP%XGMES, &
488 grm%TGRP%XPOI, grm%TGRP%XFZERO, grm%TGRP%XEPSO, grm%TGRP%XGAMM, &
489 grm%TGRP%XQDGAMM, grm%TGRP%XQDGMES, grm%TGRP%XT1GMES, grm%TGRP%XT2GMES, &
490 grm%TGRP%XAMAX, grm%TGRP%XQDAMAX, grm%TGRP%XT1AMAX,&
491 grm%TGRP%XT2AMAX, grm%TGRP%XABC, grm%TGRP%XDG, grm%TGRP%XDZG, grm%TGRP%XDZDIF, &
492 grm%TGRP%NWG_LAYER, grm%TGRP%XROOTFRAC, &
493 grm%TGRP%XWFC, grm%TGRP%XWWILT, grm%TGRP%XWSAT, grm%TGRP%XBCOEF, grm%TGRP%XCONDSAT, &
494 grm%TGRP%XMPOTSAT, grm%TGRP%XHCAPSOIL, grm%TGRP%XCONDDRY, grm%TGRP%XCONDSLD, &
495 grm%TGRP%XD_ICE, grm%TGRP%XKSAT_ICE, zmuf, zff,&
496 zffg, zffv, zffg_nosnow, zffv_nosnow, zffrozen, zalbf, &
497 zemisf, zfflood, zpiflood, ziflood, zpflood, zleflood, &
498 zleiflood, zsodelx, tg%XLAT, tg%XLON, grm%TGR%CUR%XTG, grm%TGR%CUR%XWG, &
499 grm%TGR%CUR%XWGI, grm%TGRP%XPCPS, grm%TGRP%XPLVTT, grm%TGRP%XPLSTT, grm%TGR%CUR%XWR, &
500 zp_wrl,zp_wrli,zp_wrvn,zp_tv, zp_tl, &
501 grm%TGR%CUR%XRESA, grm%TGR%CUR%XANFM, zfsat, grm%TGR%CUR%TSNOW%ALB(:,1), &
502 grm%TGR%CUR%TSNOW%ALBVIS(:,1), grm%TGR%CUR%TSNOW%ALBNIR(:,1), grm%TGR%CUR%TSNOW%ALBFIR(:,1), &
503 grm%TGR%CUR%TSNOW%WSNOW(:,:,1), grm%TGR%CUR%TSNOW%HEAT(:,:,1), grm%TGR%CUR%TSNOW%RHO(:,:,1), &
504 grm%TGR%CUR%TSNOW%GRAN1(:,:,1), grm%TGR%CUR%TSNOW%GRAN2(:,:,1), grm%TGR%CUR%TSNOW%HIST(:,:,1), &
505 grm%TGR%CUR%TSNOW%AGE(:,:,1), zgrndflux, zhpsnow, zsnowhmass, &
506 zrnsnow, zhsnow, zgfluxsnow, zustarsnow, &
507 zsrsfc, zrrsfc, zlesl, grm%TGR%CUR%TSNOW%EMIS(:,1), zcdsnow, zchsnow, &
508 pts_greenroof, zts, zhv, zqs, zsnowtemp, zsnowliq, zsnowdz, &
509 zcg, zc1, zc2, zwgeq, zct, zch, zcd, zcdn, zri, zhu, zhug, &
510 zemist, zalbt, zrs, grm%TGR%CUR%XLE, zrn, zh, zlei, zlegi, zleg, zlev, &
511 zles, zler, zletr, zevap, zgflux, zrestore, zustar, zdrain, &
512 zrunoff, zmelt, zmeltadv, &
514 zrn_isba, zh_isba, zleg_isba, &
515 zlegi_isba, zlev_isba, zletr_isba, zustar_isba, zler_isba, &
516 zle_isba, zlei_isba, zgflux_isba, zhort, zdrip, zrrveg, &
517 pac_agg_greenroof, phu_agg_greenroof, zfaparc, zfapirc, zmus, &
518 zlai_effc, grm%TGR%CUR%XAN, grm%TGR%CUR%XANDAY, zresp_biomass_inst, ziacan, grm%TGRP%XANF, &
519 zgpp, zfapar, zfapir, zfapar_bs, zfapir_bs, zirrig_flux, &
521 zp_swnet_v, zp_swnet_g, zp_swnet_n, zp_swnet_ns, &
522 zp_lwnet_v, zp_lwnet_g, zp_lwnet_n, &
523 zp_levcv, zp_lesc, zp_h_v_c, zp_h_g_c, &
524 zp_letrgv, zp_letrcv, zp_lergv, zp_lelitter, zp_lelitteri, &
525 zp_driplit,zp_rrlit, zp_lercv, zp_h_c_a, zp_h_n_c, &
526 zp_le_c_a, zp_le_v_c, zp_le_g_c, zp_le_n_c, &
527 zp_evap_n_c, zp_evap_g_c, &
528 zp_sr_gn, zp_meltcv, zp_frzcv, &
529 zp_swdown_gn, zp_lwdown_gn, &
530 pirrig_greenroof, ztopqs, zqsb, zsubl, zfwtd, zwtd, zsndrift)
532 prunoff_greenroof(:) = zrunoff(:)
533 pdrain_greenroof(:) = zdrain(:)
536 IF (grm%TGR%CUR%TSNOW%SCHEME==
'3-L' .OR. grm%TGR%CUR%TSNOW%SCHEME==
'CRO') grm%TGR%CUR%TSNOW%TS(:,1)=zsnowtemp(:,1)
545 IF (tvg%CPHOTO==
'NON' .OR. tvg%CPHOTO==
'AGS' .OR. tvg%CPHOTO==
'AST')
THEN
553 IF (tvg%CPHOTO==
'LAI' .OR. tvg%CPHOTO==
'LST' .OR. tvg%CPHOTO==
'NIT')
THEN
554 CALL
vegetation_evol(grm%TGRO%CISBA_GR, tvg%CPHOTO, tvg%CRESPSL, tvg%CALBEDO, .false., &
555 grm%TGRO%LTR_ML_GR, tvg%LNITRO_DILU, gagri_to_grass, &
556 .false., .false., .false., &
557 ptstep, tptime%TDATE%MONTH, tptime%TDATE%DAY, 1, &
558 tptime%TIME, tg%XLAT, prhoa, grm%TGRP%XDG, grm%TGRP%XDZG, &
559 grm%TGRP%NWG_LAYER, grm%TGR%CUR%XTG, grm%TGRP%XALBNIR_VEG, &
560 grm%TGRP%XALBVIS_VEG, grm%TGRP%XALBUV_VEG, grm%TGRP%XALBNIR_SOIL, &
561 grm%TGRP%XALBVIS_SOIL, grm%TGRP%XALBUV_SOIL, grm%TGRP%XVEGTYPE, &
562 grm%TGRP%XSEFOLD, grm%TGRP%XANMAX, grm%TGRP%XH_TREE, grm%TGRP%XBSLAI, &
563 grm%TGRP%XLAIMIN, pco2, grm%TGRP%XCE_NITRO, grm%TGRP%XCF_NITRO, &
564 grm%TGRP%XCNA_NITRO, grm%TGRP%XBSLAI_NITRO, grm%TGRP%XGMES, &
565 ztau_wood, tpseed, tpreap, zaosip, zaosim, zaosjp, zaosjm, &
566 zho2ip, zho2im, zho2jp, zho2jm, zz0effip, &
567 zz0effim, zz0effjp, zz0effjm, grm%TGRPE%CUR%XLAI, grm%TGRPE%CUR%XVEG, &
568 grm%TGRPE%CUR%XZ0, grm%TGRPE%CUR%XALBNIR, grm%TGRPE%CUR%XALBVIS, &
569 grm%TGRPE%CUR%XALBUV, grm%TGRPE%CUR%XEMIS, grm%TGR%CUR%XANFM, &
570 grm%TGR%CUR%XANDAY, grm%TGR%CUR%XBIOMASS, grm%TGR%CUR%XRESP_BIOMASS, &
571 zresp_biomass_inst, zincrease, zturnover )
580 IF (tvg%CPHOTO/=
'NON' .AND. tvg%CRESPSL/=
'NON' .AND. any(grm%TGRPE%CUR%XLAI(:)/=xundef))
THEN
582 CALL
carbon_evol(tvg%CISBA, tvg%CRESPSL, tvg%CPHOTO, ptstep, 1, &
583 prhoa, grm%TGR%CUR%XTG, grm%TGR%CUR%XWG, grm%TGRP%XWFC, &
584 grm%TGRP%XWWILT, grm%TGRP%XWSAT, grm%TGRP%XSAND_GR,&
585 grm%TGRP%XDG, grm%TGRP%XDZG, grm%TGRP%NWG_LAYER, &
586 grm%TGRP%XRE25, grm%TGRPE%CUR%XLAI, zresp_biomass_inst, zturnover, &
587 zlitter, zlignin_struc , zsoilcarb, &
588 zresp_auto, zresp_eco )
591 psfco2(:) = zresp_eco(:) - zgpp(:)
601 prn_greenroof(:) = zrn(:)
602 ph_greenroof(:) = zh(:)
603 ple_greenroof(:) = grm%TGR%CUR%XLE (:)
604 pgflux_greenroof(:) = zgflux(:)
605 pevap_greenroof(:) = zevap(:)
610 zta = ppet_b_coef + ppet_a_coef * ph_greenroof
612 WHERE (pts_greenroof /= zta)
613 pac_greenroof(:) = max(ph_greenroof(:) / xcpd / prhoa(:) / (pts_greenroof - zta) , 0.)
617 pqsat_greenroof(:) =
qsat(grm%TGR%CUR%XTG(:,1),pps(:))
620 puw_greenroof(:) = -zustar(:)**2
621 IF (lhook) CALL dr_hook(
'GREENROOF',1,zhook_handle)
subroutine greenroof(DTCO, DTI, IG, I, TG, T, TOP, TVG, DTGD, TIR, GRM, HIMPLICIT_WIND, TPTIME, PTSUN, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, PTSTEP, PZREF, PUREF, PTA, PQA, PEXNS, PEXNA, PRHOA, PCO2, PPS, PRR, PSR, PZENITH, PSW, PLW, PVMOD, PALBNIR_TVEG, PALBVIS_TVEG, PALBNIR_TSOIL, PALBVIS_TSOIL, PRN_GREENROOF, PH_GREENROOF, PLE_GREENROOF, PGFLUX_GREENROOF, PSFCO2, PEVAP_GREENROOF, PUW_GREENROOF, PAC_GREENROOF, PQSAT_GREENROOF, PTS_GREENROOF, PAC_AGG_GREENROOF, PHU_AGG_GREENROOF, PDEEP_FLUX, PRUNOFF_GREENROOF, PDRAIN_GREENROOF, PIRRIG_GREENROOF)
subroutine teb_irrig(OIRRIG, PTSTEP, KMONTH, PSOLAR_TIME, PSTART_MONTH, PEND_MONTH, PSTART_HOUR, PEND_HOUR, P24H_IRRIG, PIRRIG)
subroutine isba(HISBA, HPHOTO, OTR_ML, HRUNOFF, HKSAT, HRAIN, HHORT, HC1DRY, HSCOND, HSNOW_ISBA, HSNOWRES, HCPSURF, HSOILFRZ, HDIFSFCOND, TPTIME, OFLOOD, OTEMP_ARP, OGLACIER, OMEB, OFORC_MEASURE, OMEB_LITTER, OMEB_GNDRES, PTSTEP, HIMPLICIT_WIND, OAGRI_TO_GRASS, OSNOWDRIFT, OSNOWDRIFT_SUBLIM, OSNOW_ABS_ZENITH, HSNOWMETAMO, HSNOWRAD, PCGMAX, PZREF, PUREF, PDIRCOSZW, PTA, PQA, PEXNA, PRHOA, PPS, PEXNS, PRR, PSR, PZENITH, PSCA_SW, PSW_RAD, PLW_RAD, PVMOD, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, PRSMIN, PRGL, PGAMMA, PCV, PRUNOFFD, PSOILWGHT, KLAYER_HORT, KLAYER_DUN, PALBNIR_TVEG, PALBVIS_TVEG, PALBNIR_TSOIL, PALBVIS_TSOIL, PALB, PWRMAX_CF, PVEG, PLAI, PEMIS, PZ0_WITH_SNOW, PZ0H_WITH_SNOW, PVEGTYPE, PZ0EFF, PRGLCV, PGAMMACV, PRSMINCV, PROOTFRACCV, PWRMAX_CFCV, PLAIV, PBSLAI, PLAIMIN, PH_VEG, PPALPHAN, PZ0G_WITHOUT_SNOW, PZ0_MEBV, PZ0H_MEBV, PZ0EFF_MEBV, PZ0_MEBN, PZ0H_MEBN, PZ0EFF_MEBN, PGNDLITTER, PRUNOFFB, PCGSAT, PC1SAT, PC2REF, PC3, PC4B, PC4REF, PACOEF, PPCOEF, PTAUICE, PWDRAIN, PTDEEP_A, PTDEEP_B, PGAMMAT, PPSN, PPSNG, PPSNV, PPSNV_A, PSNOWFREE_ALB_VEG, PSNOWFREE_ALB_SOIL, PIRRIG, PWATSUP, PTHRESHOLD, LIRRIGATE, LIRRIDAY, OSTRESSDEF, PGC, PF2I, PDMAX, PAH, PBH, PCSP, PGMES, PPOI, PFZERO, PEPSO, PGAMM, PQDGAMM, PQDGMES, PT1GMES, PT2GMES, PAMAX, PQDAMAX, PT1AMAX, PT2AMAX, PABC, PD_G, PDZG, PDZDIF, KWG_LAYER, PROOTFRAC, PWFC, PWWILT, PWSAT, PBCOEF, PCONDSAT, PMPOTSAT, PHCAPSOIL, PCONDDRY, PCONDSLD, PD_ICE, PKSAT_ICE, PMUF, PFF, PFFG, PFFV, PFFG_NOSNOW, PFFV_NOSNOW, PFFROZEN, PFALB, PFEMIS, PFFLOOD, PPIFLOOD, PIFLOOD, PPFLOOD, PLE_FLOOD, PLEI_FLOOD, PSODELX, PLAT, PLON, PTG, PWG, PWGI, PCPS, PLVTT, PLSTT, PWR, PWRL, PWRLI, PWRVN, PTV, PTL, PRESA, PANFM, PFSAT, PSNOWALB, PSNOWALBVIS, PSNOWALBNIR, PSNOWALBFIR, PSNOWSWE, PSNOWHEAT, PSNOWRHO, PSNOWGRAN1, PSNOWGRAN2, PSNOWHIST, PSNOWAGE, PGRNDFLUX, PHPSNOW, PSNOWHMASS, PRNSNOW, PHSNOW, PGFLUXSNOW, PUSTARSNOW, PSRSFC, PRRSFC, PLESL, PEMISNOW, PCDSNOW, PCHSNOW, PTS_RAD, PTS, PHV, PQS, PSNOWTEMP, PSNOWLIQ, PSNOWDZ, PCG, PC1, PC2, PWGEQ, PCT, PCH, PCD, PCDN, PRI, PHU, PHUG, PEMIST, PALBT, PRS, PLE, PRN, PH, PLEI, PLEGI, PLEG, PLEV, PLES, PLER, PLETR, PEVAP, PGFLUX, PRESTORE, PUSTAR, PDRAIN, PRUNOFF, PMELT, PMELTADV, PTC, PQC, PRN_ISBA, PH_ISBA, PLEG_ISBA, PLEGI_ISBA, PLEV_ISBA, PLETR_ISBA, PUSTAR_ISBA, PLER_ISBA, PLE_ISBA, PLEI_ISBA, PGFLUX_ISBA, PHORT, PDRIP, PRRVEG, PAC_AGG, PHU_AGG, PFAPARC, PFAPIRC, PMUS, PLAI_EFFC, PAN, PANDAY, PRESP_BIOMASS_INST, PIACAN, PANF, PGPP, PFAPAR, PFAPIR, PFAPAR_BS, PFAPIR_BS, PIRRIG_FLUX, PDEEP_FLUX, PSWNET_V, PSWNET_G, PSWNET_N, PSWNET_NS, PLWNET_V, PLWNET_G, PLWNET_N, PLEV_V_C, PLES_V_C, PH_V_C, PH_G_C, PLETR_G_C, PLETR_V_C, PLER_G_C, PLELITTER, PLELITTERI, PDRIPLIT, PRRLIT, PLER_V_C, PH_C_A, PH_N_C, PLE_C_A, PLE_V_C, PLE_G_C, PLE_N_C, PEVAP_N_C, PEVAP_G_C, PSR_GN, PMELTCV, PFRZCV, PSWDOWN_GN, PLWDOWN_GN, PIRRIG_GR, PTOPQS, PQSB, PSUBL, PFWTD, PWTD, PSNDRIFT)
subroutine roof_impl_coef(PTSTEP, KROOF_LAYER, PD_ROOF, PTC_ROOF, PHC_ROOF, PT_ROOF, PTDEEP_A, PTDEEP_B)
subroutine vegetation_evol(HISBA, HPHOTO, HRESPSL, HALBEDO, OAGRIP, OTR_ML, ONITRO_DILU, OAGRI_TO_GRASS, OIMP_VEG, OIMP_Z0, OIMP_EMIS, PTSTEP, KMONTH, KDAY, KSPINW, PTIME, PLAT, PRHOA, PDG, PDZG, KWG_LAYER, PTG, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL, PVEGTYPE, PSEFOLD, PANMAX, PH_TREE, PBSLAI, PLAIMIN, P_CO2, PCE_NITRO, PCF_NITRO, PCNA_NITRO, PBSLAI_NITRO, PGMES, PTAU_WOOD, TPSEED, TPREAP, PAOSIP, PAOSIM, PAOSJP, PAOSJM, PHO2IP, PHO2IM, PHO2JP, PHO2JM, PZ0EFFIP, PZ0EFFIM, PZ0EFFJP, PZ0EFFJM, PLAI, PVEG, PZ0, PALBNIR, PALBVIS, PALBUV, PEMIS, PANFM, PANDAY, PBIOMASS, PRESP_BIOMASS, PRESP_BIOMASS_INST, PINCREASE, PTURNOVER, PSWDIR)
subroutine carbon_evol(HISBA, HRESPSL, HPHOTO, PTSTEP, KSPINS, PRHOA, PTG, PWG, PWFC, PWWILT, PWSAT, PSAND, PDG, PDZG, KWG_LAYER, PRE25, PLAI, PRESP_BIOMASS_INST, PTURNOVER, PLITTER, PLIGNIN_STRUC, PSOILCARB, PRESP_AUTO, PRESP_ECO)
subroutine vegetation_update_greenroof(DTCO, DTI, IG, I, T, TOP, TVG, DTGD, GRM, TPTIME, PTSTEP, KLU)