6 SUBROUTINE garden (DTCO, DTI, IG, I, TG, T, TOP, DTGR, TGRO, GDM, &
7 himplicit_wind, tptime, ptsun, ppew_a_coef, ppew_b_coef, &
8 ppet_a_coef, ppeq_a_coef, ppet_b_coef, ppeq_b_coef, &
10 pt_lowcan, pq_lowcan, pexns, prhoa, pco2, pps, prr, psr, pzenith, &
11 psw, plw, pu_lowcan, &
12 palbnir_tveg, palbvis_tveg, palbnir_tsoil, palbvis_tsoil, &
13 prn_garden,ph_garden,ple_garden,pgflux_garden,psfco2, &
14 pevap_garden, puw_garden,prunoff_garden, &
15 pac_garden,pqsat_garden,pts_garden, &
16 pac_agg_garden, phu_agg_garden, pdrain_garden, pirrig_garden )
75 USE modi_vegetation_update_garden
78 USE modi_flag_teb_garden_n
80 USE modi_vegetation_evol
83 USE yomhook
,ONLY : lhook, dr_hook
84 USE parkind1
,ONLY : jprb
94 TYPE(isba_grid_t
),
INTENT(INOUT) :: ig
95 TYPE(isba_t
),
INTENT(INOUT) :: i
97 TYPE(teb_t),
INTENT(INOUT) :: t
103 CHARACTER(LEN=*),
INTENT(IN) :: himplicit_wind
107 REAL,
DIMENSION(:) ,
INTENT(IN) :: ptsun
108 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppew_a_coef
109 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppew_b_coef
110 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppeq_a_coef
111 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppeq_b_coef
112 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppet_a_coef
113 REAL,
DIMENSION(:) ,
INTENT(IN) :: ppet_b_coef
114 REAL ,
INTENT(IN) :: ptstep
115 REAL,
DIMENSION(:) ,
INTENT(IN) :: pz_lowcan
116 REAL,
DIMENSION(:) ,
INTENT(IN) :: pt_lowcan
117 REAL,
DIMENSION(:) ,
INTENT(IN) :: pq_lowcan
118 REAL,
DIMENSION(:) ,
INTENT(IN) :: pps
119 REAL,
DIMENSION(:) ,
INTENT(IN) :: pexns
120 REAL,
DIMENSION(:) ,
INTENT(IN) :: prhoa
121 REAL,
DIMENSION(:) ,
INTENT(IN) :: pco2
122 REAL,
DIMENSION(:) ,
INTENT(IN) :: prr
123 REAL,
DIMENSION(:) ,
INTENT(IN) :: psr
124 REAL,
DIMENSION(:) ,
INTENT(IN) :: pzenith
125 REAL,
DIMENSION(:) ,
INTENT(IN) :: psw
126 REAL,
DIMENSION(:) ,
INTENT(IN) :: plw
127 REAL,
DIMENSION(:) ,
INTENT(IN) :: pu_lowcan
128 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbnir_tveg
129 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbvis_tveg
130 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbnir_tsoil
131 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbvis_tsoil
134 REAL,
DIMENSION(:) ,
INTENT(OUT) :: prn_garden
135 REAL,
DIMENSION(:) ,
INTENT(OUT) :: ph_garden
136 REAL,
DIMENSION(:) ,
INTENT(OUT) :: ple_garden
137 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pgflux_garden
138 REAL,
DIMENSION(:) ,
INTENT(OUT) :: psfco2
139 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pevap_garden
140 REAL,
DIMENSION(:) ,
INTENT(OUT) :: puw_garden
141 REAL,
DIMENSION(:) ,
INTENT(OUT) :: prunoff_garden
142 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pac_garden
143 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pqsat_garden
144 REAL,
DIMENSION(:) ,
INTENT(INOUT) :: pts_garden
145 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pac_agg_garden
146 REAL,
DIMENSION(:) ,
INTENT(OUT) :: phu_agg_garden
147 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pdrain_garden
148 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pirrig_garden
153 CHARACTER(LEN=3) :: hrain
163 REAL,
DIMENSION(0) :: zsodelx
165 REAL,
DIMENSION(SIZE(PPS)) :: zmuf
166 REAL,
DIMENSION(SIZE(PPS)) :: zfsat
167 REAL,
DIMENSION(SIZE(PPS),GDM%TGDO%NGROUND_LAYER) :: ztopqs
168 REAL,
DIMENSION(SIZE(PPS)) :: zqsb
169 REAL,
DIMENSION(SIZE(PPS)) :: zfwtd
170 REAL,
DIMENSION(SIZE(PPS)) :: zwtd
172 REAL,
DIMENSION(SIZE(PPS)) :: zdircoszw
173 REAL,
DIMENSION(SIZE(PPS),GDM%TVG%NNBIOMASS) :: zresp_biomass_inst
177 REAL,
DIMENSION(SIZE(PPS)) :: zta
179 REAL,
DIMENSION(SIZE(PPS)) :: zdeep_flux
183 REAL,
DIMENSION(SIZE(PPS)) :: zrn_isba
184 REAL,
DIMENSION(SIZE(PPS)) :: zh_isba
185 REAL,
DIMENSION(SIZE(PPS)) :: zlei_isba
186 REAL,
DIMENSION(SIZE(PPS)) :: zleg_isba
187 REAL,
DIMENSION(SIZE(PPS)) :: zlegi_isba
188 REAL,
DIMENSION(SIZE(PPS)) :: zlev_isba
189 REAL,
DIMENSION(SIZE(PPS)) :: zletr_isba
190 REAL,
DIMENSION(SIZE(PPS)) :: zustar_isba
191 REAL,
DIMENSION(SIZE(PPS)) :: zler_isba
192 REAL,
DIMENSION(SIZE(PPS)) :: zle_isba
193 REAL,
DIMENSION(SIZE(PPS)) :: zgflux_isba
194 REAL,
DIMENSION(SIZE(PPS)) :: zrnsnow
195 REAL,
DIMENSION(SIZE(PPS)) :: zhsnow
196 REAL,
DIMENSION(SIZE(PPS)) :: zhpsnow
197 REAL,
DIMENSION(SIZE(PPS)) :: zgfluxsnow
198 REAL,
DIMENSION(SIZE(PPS)) :: zustarsnow
199 REAL,
DIMENSION(SIZE(PPS)) :: zgrndflux
200 REAL,
DIMENSION(SIZE(PPS)) :: zsrsfc
201 REAL,
DIMENSION(SIZE(PPS)) :: zrrsfc
202 REAL,
DIMENSION(SIZE(PPS)) :: zlesl
203 REAL,
DIMENSION(SIZE(PPS)) :: zcdsnow
204 REAL,
DIMENSION(SIZE(PPS)) :: zchsnow
206 REAL,
DIMENSION(SIZE(PPS)) :: zcg
207 REAL,
DIMENSION(SIZE(PPS)) :: zc1
208 REAL,
DIMENSION(SIZE(PPS)) :: zc2
209 REAL,
DIMENSION(SIZE(PPS)) :: zwgeq
210 REAL,
DIMENSION(SIZE(PPS)) :: zct
211 REAL,
DIMENSION(SIZE(PPS)) :: zrs
212 REAL,
DIMENSION(SIZE(PPS)) :: zch
213 REAL,
DIMENSION(SIZE(PPS)) :: zcd
214 REAL,
DIMENSION(SIZE(PPS)) :: zcdn
215 REAL,
DIMENSION(SIZE(PPS)) :: zri
216 REAL,
DIMENSION(SIZE(PPS)) :: zhu
217 REAL,
DIMENSION(SIZE(PPS)) :: zhug
218 REAL,
DIMENSION(SIZE(PPS)) :: zrn
219 REAL,
DIMENSION(SIZE(PPS)) :: zh
220 REAL,
DIMENSION(SIZE(PPS)) :: zlei
221 REAL,
DIMENSION(SIZE(PPS)) :: zleg
222 REAL,
DIMENSION(SIZE(PPS)) :: zlegi
223 REAL,
DIMENSION(SIZE(PPS)) :: zlev
224 REAL,
DIMENSION(SIZE(PPS)) :: zles
225 REAL,
DIMENSION(SIZE(PPS)) :: zler
226 REAL,
DIMENSION(SIZE(PPS)) :: zletr
227 REAL,
DIMENSION(SIZE(PPS)) :: zevap
228 REAL,
DIMENSION(SIZE(PPS)) :: zsubl
229 REAL,
DIMENSION(SIZE(PPS)) :: zgflux
230 REAL,
DIMENSION(SIZE(PPS)) :: zrestore
231 REAL,
DIMENSION(SIZE(PPS)) :: zustar
232 REAL,
DIMENSION(SIZE(PPS)) :: zmelt
233 REAL,
DIMENSION(SIZE(PPS),GDM%TGD%CUR%TSNOW%NLAYER) :: zsnowtemp
234 REAL,
DIMENSION(SIZE(PPS),GDM%TGD%CUR%TSNOW%NLAYER) :: zsnowliq
235 REAL,
DIMENSION(SIZE(PPS),GDM%TGD%CUR%TSNOW%NLAYER) :: zsnowdz
236 REAL,
DIMENSION(SIZE(PPS)) :: zsnowhmass
237 REAL,
DIMENSION(SIZE(PPS)) :: zmeltadv
238 REAL,
DIMENSION(SIZE(PPS),SIZE(GDM%TGDP%XABC)) :: ziacan
239 REAL,
DIMENSION(SIZE(PPS)) :: zqs
240 REAL,
DIMENSION(SIZE(PPS)) :: zhv
241 REAL,
DIMENSION(SIZE(PPS)) :: zhort
242 REAL,
DIMENSION(SIZE(PPS)) :: zdrip
243 REAL,
DIMENSION(SIZE(PPS)) :: zts
244 REAL,
DIMENSION(SIZE(PPS)) :: zrrveg
245 REAL,
DIMENSION(SIZE(PPS)) :: zalbt
246 REAL,
DIMENSION(SIZE(PPS)) :: zemist
247 REAL,
DIMENSION(SIZE(PPS)) :: zgpp
248 REAL,
DIMENSION(SIZE(PPS)) :: zresp_auto
249 REAL,
DIMENSION(SIZE(PPS)) :: zresp_eco
250 REAL,
DIMENSION(SIZE(PPS)) :: zfapar
251 REAL,
DIMENSION(SIZE(PPS)) :: zfapir
252 REAL,
DIMENSION(SIZE(PPS)) :: zfaparc
253 REAL,
DIMENSION(SIZE(PPS)) :: zfapirc
254 REAL,
DIMENSION(SIZE(PPS)) :: zlai_effc
255 REAL,
DIMENSION(SIZE(PPS)) :: zfapar_bs
256 REAL,
DIMENSION(SIZE(PPS)) :: zfapir_bs
257 REAL,
DIMENSION(SIZE(PPS)) :: zdfaparc
258 REAL,
DIMENSION(SIZE(PPS)) :: zdfapirc
259 REAL,
DIMENSION(SIZE(PPS)) :: zdlai_effc
260 REAL,
DIMENSION(SIZE(PPS)) :: zmus
261 REAL,
DIMENSION(SIZE(PPS)) :: zirrig_flux
262 REAL,
DIMENSION(0,0,0) :: zlitter
263 REAL,
DIMENSION(0,0) :: zlignin_struc , zsoilcarb, zturnover
265 REAL,
DIMENSION(SIZE(PPS)) :: zsndrift
269 REAL,
DIMENSION(SIZE(PPS)) :: zffg
270 REAL,
DIMENSION(SIZE(PPS)) :: zffv
271 REAL,
DIMENSION(SIZE(PPS)) :: zff
272 REAL,
DIMENSION(SIZE(PPS)) :: zalbf
273 REAL,
DIMENSION(SIZE(PPS)) :: zemisf
274 REAL,
DIMENSION(SIZE(PPS)) :: zffrozen
275 REAL,
DIMENSION(SIZE(PPS)) :: zfflood
276 REAL,
DIMENSION(SIZE(PPS)) :: zpiflood
277 REAL,
DIMENSION(SIZE(PPS)) :: ziflood
278 REAL,
DIMENSION(SIZE(PPS)) :: zpflood
279 REAL,
DIMENSION(SIZE(PPS)) :: zleflood
280 REAL,
DIMENSION(SIZE(PPS)) :: zleiflood
281 REAL,
DIMENSION(SIZE(PPS)) :: zffg_nosnow
282 REAL,
DIMENSION(SIZE(PPS)) :: zffv_nosnow
285 REAL,
DIMENSION(SIZE(PPS)) :: zirrig
286 REAL,
DIMENSION(SIZE(PPS)) :: zwatsup
287 REAL,
DIMENSION(SIZE(PPS)) :: zthresholdspt
288 LOGICAL,
DIMENSION(SIZE(PPS)) :: girrigate
289 LOGICAL,
DIMENSION(SIZE(PPS)) :: girriday
293 REAL,
DIMENSION(SIZE(PPS)) :: ztdeep_a
294 REAL,
DIMENSION(SIZE(PPS)) :: ztdeep_b
295 REAL,
DIMENSION(SIZE(PPS)) :: zgammat
297 REAL,
DIMENSION(0) :: zaosip
298 REAL,
DIMENSION(0) :: zaosim
299 REAL,
DIMENSION(0) :: zaosjp
300 REAL,
DIMENSION(0) :: zaosjm
301 REAL,
DIMENSION(0) :: zho2ip
302 REAL,
DIMENSION(0) :: zho2im
303 REAL,
DIMENSION(0) :: zho2jp
304 REAL,
DIMENSION(0) :: zho2jm
305 REAL,
DIMENSION(0) :: zz0effip
306 REAL,
DIMENSION(0) :: zz0effim
307 REAL,
DIMENSION(0) :: zz0effjp
308 REAL,
DIMENSION(0) :: zz0effjm
309 REAL,
DIMENSION(0) :: ztau_wood
310 REAL,
DIMENSION(0,0) :: zincrease
313 LOGICAL,
PARAMETER::omeb=.false.
314 LOGICAL,
PARAMETER::oforc_measure=.false.
315 LOGICAL,
PARAMETER::omeb_litter=.false.
316 LOGICAL,
PARAMETER::omeb_gndres=.false.
317 REAL,
DIMENSION(SIZE(PPS)) :: zp_meb_sca_sw, &
318 zp_rglv, zp_gammav, zp_rsminv, &
319 zp_wrmax_cfv, zp_laiv, &
320 zp_bslai,zp_laimin,zp_h_veg,zpalphan, &
322 zz0_mebv,zz0h_mebv,zz0eff_mebv, &
323 zz0_mebn,zz0h_mebn,zz0eff_mebn, &
324 zp_albnir_veg, zp_albvis_veg, &
325 zp_albnir_soil, zp_albvis_soil, zp_gndlitter
326 REAL,
DIMENSION(SIZE(GDM%TGDP%XROOTFRAC,1),SIZE(GDM%TGDP%XROOTFRAC,2)) :: zp_rootfracv
327 REAL,
DIMENSION(SIZE(PPS)) :: zp_wrl,zp_wrli,zp_wrvn,zp_tv, zp_tl
328 REAL,
DIMENSION(SIZE(PPS)) :: zp_tc,zp_qc
329 REAL,
DIMENSION(SIZE(PPS)) :: zp_swnet_v, zp_swnet_g, zp_swnet_n, zp_swnet_ns, &
330 zp_lwnet_v, zp_lwnet_g, zp_lwnet_n, &
331 zp_levcv, zp_lesc, zp_h_v_c, zp_h_g_c, &
332 zp_letrgv, zp_letrcv, zp_lergv, zp_lelitter, zp_lelitteri, &
333 zp_driplit,zp_rrlit, zp_lercv, zp_h_c_a, zp_h_n_c, &
334 zp_le_c_a, zp_le_v_c, zp_le_g_c, zp_le_n_c, &
335 zp_evap_n_c, zp_evap_g_c, &
336 zp_sr_gn, zp_meltcv, zp_frzcv, &
337 zp_swdown_gn, zp_lwdown_gn
344 LOGICAL :: gmask, gagri_to_grass
347 LOGICAL :: gsnowdrift,gsnowdrift_sublim,gsnow_abs_zenith
348 CHARACTER(3) :: ysnowmetamo,ysnowrad
350 REAL(KIND=JPRB) :: zhook_handle
357 IF (lhook) CALL dr_hook(
'GARDEN',0,zhook_handle)
374 gagri_to_grass = .false.
418 gsnowdrift_sublim=.false.
419 gsnow_abs_zenith=.false.
432 CALL
teb_irrig(gdm%TIR%LPAR_GD_IRRIG, ptstep, tptime%TDATE%MONTH, ptsun, &
433 gdm%TIR%XGD_START_MONTH, gdm%TIR%XGD_END_MONTH, gdm%TIR%XGD_START_HOUR, &
434 gdm%TIR%XGD_END_HOUR, gdm%TIR%XGD_24H_IRRIG, pirrig_garden )
440 CALL
isba(gdm%TVG%CISBA, gdm%TVG%CPHOTO, gdm%TVG%LTR_ML, gdm%TVG%CRUNOFF, &
441 gdm%TVG%CKSAT, hrain, gdm%TVG%CHORT, &
442 gdm%TVG%CC1DRY, gdm%TVG%CSCOND, gdm%TGD%CUR%TSNOW%SCHEME, &
443 gdm%TVG%CSNOWRES, gdm%TVG%CCPSURF, gdm%TVG%CSOILFRZ, &
444 gdm%TVG%CDIFSFCOND, tptime, oflood, otemp_arp, oglacier, &
445 omeb, oforc_measure,omeb_litter, omeb_gndres, ptstep, himplicit_wind, gagri_to_grass,&
446 gsnowdrift,gsnowdrift_sublim,gsnow_abs_zenith, &
447 ysnowmetamo,ysnowrad, &
448 gdm%TVG%XCGMAX, pz_lowcan, pz_lowcan, zdircoszw, pt_lowcan, &
449 pq_lowcan, pexns, prhoa, pps, pexns, prr, psr, pzenith, &
451 psw, plw, pu_lowcan, ppew_a_coef, ppew_b_coef, ppet_a_coef, &
452 ppeq_a_coef, ppet_b_coef, ppeq_b_coef, gdm%TGDP%XRSMIN, &
453 gdm%TGDP%XRGL, gdm%TGDP%XGAMMA,&
454 gdm%TGDP%XCV, gdm%TGDP%XRUNOFFD, gdm%TGDP%XSOILWGHT, &
455 gdm%TGDO%NLAYER_HORT, gdm%TGDO%NLAYER_DUN, &
456 palbnir_tveg, palbvis_tveg, palbnir_tsoil, palbvis_tsoil, &
457 gdm%TGD%CUR%XSNOWFREE_ALB, gdm%TGDP%XWRMAX_CF, gdm%TGDPE%CUR%XVEG, &
458 gdm%TGDPE%CUR%XLAI, gdm%TGDPE%CUR%XEMIS, gdm%TGDPE%CUR%XZ0, &
459 gdm%TGDPE%CUR%XZ0/gdm%TGDP%XZ0_O_Z0H, gdm%TGDP%XVEGTYPE, gdm%TGDPE%CUR%XZ0, &
460 zp_rglv, zp_gammav, zp_rsminv, &
461 zp_rootfracv, zp_wrmax_cfv, zp_laiv, &
462 zp_bslai,zp_laimin,zp_h_veg,zpalphan, &
464 zz0_mebv,zz0h_mebv,zz0eff_mebv, &
465 zz0_mebn,zz0h_mebn,zz0eff_mebn, zp_gndlitter, &
466 gdm%TGDP%XRUNOFFB, gdm%TGDP%XCGSAT, gdm%TGDP%XC1SAT, &
467 gdm%TGDP%XC2REF, gdm%TGDP%XC3, gdm%TGDP%XC4B, gdm%TGDP%XC4REF, &
468 gdm%TGDP%XACOEF, gdm%TGDP%XPCOEF, gdm%TGDP%XTAUICE, gdm%TGDP%XWDRAIN,&
469 ztdeep_a, ztdeep_b, zgammat, gdm%TGD%CUR%XPSN, gdm%TGD%CUR%XPSNG, &
470 gdm%TGD%CUR%XPSNV, gdm%TGD%CUR%XPSNV_A, &
471 gdm%TGD%CUR%XSNOWFREE_ALB_VEG, gdm%TGD%CUR%XSNOWFREE_ALB_SOIL, zirrig, zwatsup, &
472 zthresholdspt, girrigate, girriday, gdm%TGDP%LSTRESS, gdm%TGDP%XGC, gdm%TGDP%XF2I, &
473 gdm%TGDP%XDMAX, gdm%TGDP%XAH, gdm%TGDP%XBH, pco2, gdm%TGDP%XGMES, gdm%TGDP%XPOI, &
474 gdm%TGDP%XFZERO, gdm%TGDP%XEPSO, gdm%TGDP%XGAMM, &
475 gdm%TGDP%XQDGAMM, gdm%TGDP%XQDGMES, gdm%TGDP%XT1GMES, gdm%TGDP%XT2GMES, &
476 gdm%TGDP%XAMAX, gdm%TGDP%XQDAMAX, gdm%TGDP%XT1AMAX,&
477 gdm%TGDP%XT2AMAX, gdm%TGDP%XABC, gdm%TGDP%XDG, gdm%TGDP%XDZG, gdm%TGDP%XDZDIF, &
478 gdm%TGDP%NWG_LAYER, gdm%TGDP%XROOTFRAC, &
479 gdm%TGDP%XWFC, gdm%TGDP%XWWILT, gdm%TGDP%XWSAT, gdm%TGDP%XBCOEF, &
480 gdm%TGDP%XCONDSAT, gdm%TGDP%XMPOTSAT, &
481 gdm%TGDP%XHCAPSOIL, gdm%TGDP%XCONDDRY, gdm%TGDP%XCONDSLD, gdm%TGDP%XD_ICE, &
482 gdm%TGDP%XKSAT_ICE, zmuf, zff,&
483 zffg, zffv, zffg_nosnow, zffv_nosnow, zffrozen, zalbf, &
484 zemisf, zfflood, zpiflood, ziflood, zpflood, zleflood, &
485 zleiflood, zsodelx, tg%XLAT, tg%XLON, gdm%TGD%CUR%XTG, gdm%TGD%CUR%XWG, &
486 gdm%TGD%CUR%XWGI, gdm%TGDP%XPCPS, &
487 gdm%TGDP%XPLVTT, gdm%TGDP%XPLSTT, gdm%TGD%CUR%XWR, &
488 zp_wrl,zp_wrli,zp_wrvn,zp_tv, zp_tl, &
489 gdm%TGD%CUR%XRESA, gdm%TGD%CUR%XANFM, zfsat, gdm%TGD%CUR%TSNOW%ALB(:,1), &
490 gdm%TGD%CUR%TSNOW%ALBVIS(:,1), gdm%TGD%CUR%TSNOW%ALBNIR(:,1), gdm%TGD%CUR%TSNOW%ALBFIR(:,1), &
491 gdm%TGD%CUR%TSNOW%WSNOW(:,:,1), gdm%TGD%CUR%TSNOW%HEAT(:,:,1), gdm%TGD%CUR%TSNOW%RHO(:,:,1), &
492 gdm%TGD%CUR%TSNOW%GRAN1(:,:,1), gdm%TGD%CUR%TSNOW%GRAN2(:,:,1), gdm%TGD%CUR%TSNOW%HIST(:,:,1), &
493 gdm%TGD%CUR%TSNOW%AGE(:,:,1), zgrndflux, zhpsnow, zsnowhmass, &
494 zrnsnow, zhsnow, zgfluxsnow, zustarsnow, &
495 zsrsfc, zrrsfc, zlesl, gdm%TGD%CUR%TSNOW%EMIS(:,1), zcdsnow, zchsnow, &
496 pts_garden, zts, zhv, zqs, zsnowtemp, zsnowliq, zsnowdz, &
497 zcg, zc1, zc2, zwgeq, zct, zch, zcd, zcdn, zri, zhu, zhug, &
498 zemist, zalbt, zrs, gdm%TGD%CUR%XLE, zrn, zh, zlei, zlegi, zleg, zlev, &
499 zles, zler, zletr, zevap, zgflux, zrestore, zustar, &
500 pdrain_garden, prunoff_garden, &
503 zrn_isba, zh_isba, zleg_isba, &
504 zlegi_isba, zlev_isba, zletr_isba, zustar_isba, zler_isba, &
505 zle_isba, zlei_isba, zgflux_isba, zhort, zdrip, zrrveg, &
506 pac_agg_garden, phu_agg_garden, zfaparc, zfapirc, zmus, &
507 zlai_effc, gdm%TGD%CUR%XAN, gdm%TGD%CUR%XANDAY, zresp_biomass_inst, ziacan, gdm%TGDP%XANF, &
508 zgpp, zfapar, zfapir, zfapar_bs, zfapir_bs, zirrig_flux, &
510 zp_swnet_v, zp_swnet_g, zp_swnet_n, zp_swnet_ns, &
511 zp_lwnet_v, zp_lwnet_g, zp_lwnet_n, &
512 zp_levcv, zp_lesc, zp_h_v_c, zp_h_g_c, &
513 zp_letrgv, zp_letrcv, zp_lergv, zp_lelitter,zp_lelitteri, &
514 zp_driplit,zp_rrlit, zp_lercv, zp_h_c_a, zp_h_n_c, &
515 zp_le_c_a, zp_le_v_c, zp_le_g_c, zp_le_n_c, &
516 zp_evap_n_c, zp_evap_g_c, &
517 zp_sr_gn, zp_meltcv, zp_frzcv, &
518 zp_swdown_gn, zp_lwdown_gn, &
519 pirrig_garden, ztopqs, zqsb, zsubl, zfwtd, zwtd, zsndrift )
522 IF (gdm%TGD%CUR%TSNOW%SCHEME==
'3-L' .OR. gdm%TGD%CUR%TSNOW%SCHEME==
'CRO') &
523 gdm%TGD%CUR%TSNOW%TS(:,1)=zsnowtemp(:,1)
525 IF (gdm%TVG%LTR_ML)
THEN
526 gmask = ( tptime%TIME - ptstep < 0. ) .AND. ( tptime%TIME >= 0. )
528 zdfaparc(:) = zfaparc(:) / zmus(:)
529 zdfapirc(:) = zfapirc(:) / zmus(:)
530 zdlai_effc(:) = zlai_effc(:) / zmus(:)
538 IF (gdm%TVG%CPHOTO==
'NON' .OR. gdm%TVG%CPHOTO==
'AGS' .OR. gdm%TVG%CPHOTO==
'AST')
THEN
546 IF (gdm%TVG%CPHOTO==
'LAI' .OR. gdm%TVG%CPHOTO==
'LST' .OR. gdm%TVG%CPHOTO==
'NIT')
THEN
548 gdm%TVG%CALBEDO, .false., gdm%TVG%LTR_ML, &
549 gdm%TVG%LNITRO_DILU, gagri_to_grass, .false., .false., .false., &
550 ptstep, tptime%TDATE%MONTH, tptime%TDATE%DAY, 1, &
551 tptime%TIME, tg%XLAT, prhoa, gdm%TGDP%XDG, gdm%TGDP%XDZG, gdm%TGDP%NWG_LAYER, &
552 gdm%TGD%CUR%XTG, gdm%TGDP%XALBNIR_VEG, gdm%TGDP%XALBVIS_VEG, &
553 gdm%TGDP%XALBUV_VEG, gdm%TGDP%XALBNIR_SOIL, gdm%TGDP%XALBVIS_SOIL, &
554 gdm%TGDP%XALBUV_SOIL, gdm%TGDP%XVEGTYPE, gdm%TGDP%XSEFOLD, gdm%TGDP%XANMAX, &
555 gdm%TGDP%XH_TREE, gdm%TGDP%XBSLAI, gdm%TGDP%XLAIMIN, pco2, &
556 gdm%TGDP%XCE_NITRO, gdm%TGDP%XCF_NITRO, gdm%TGDP%XCNA_NITRO, &
557 gdm%TGDP%XBSLAI_NITRO, gdm%TGDP%XGMES, ztau_wood, tpseed, &
558 tpreap, zaosip, zaosim, zaosjp, zaosjm, &
559 zho2ip, zho2im, zho2jp, zho2jm, zz0effip, &
560 zz0effim, zz0effjp, zz0effjm, gdm%TGDPE%CUR%XLAI, gdm%TGDPE%CUR%XVEG, &
561 gdm%TGDPE%CUR%XZ0, gdm%TGDPE%CUR%XALBNIR, gdm%TGDPE%CUR%XALBVIS, &
562 gdm%TGDPE%CUR%XALBUV, gdm%TGDPE%CUR%XEMIS, gdm%TGD%CUR%XANFM, &
563 gdm%TGD%CUR%XANDAY, gdm%TGD%CUR%XBIOMASS, gdm%TGD%CUR%XRESP_BIOMASS, &
564 zresp_biomass_inst, zincrease, zturnover )
575 IF (gdm%TVG%CPHOTO/=
'NON' .AND. gdm%TVG%CRESPSL/=
'NON' .AND. any(gdm%TGDPE%CUR%XLAI(:)/=xundef))
THEN
576 CALL
carbon_evol(gdm%TVG%CISBA, gdm%TVG%CRESPSL, gdm%TVG%CPHOTO, ptstep, 1, &
577 prhoa, gdm%TGD%CUR%XTG, gdm%TGD%CUR%XWG, gdm%TGDP%XWFC, &
578 gdm%TGDP%XWWILT, gdm%TGDP%XWSAT, gdm%TGDP%XSAND, &
579 gdm%TGDP%XDG, gdm%TGDP%XDZG, gdm%TGDP%NWG_LAYER, &
580 gdm%TGDP%XRE25, gdm%TGDPE%CUR%XLAI, zresp_biomass_inst, zturnover, &
581 zlitter, zlignin_struc , zsoilcarb, &
582 zresp_auto, zresp_eco )
584 psfco2(:) = - zgpp(:) + zresp_eco(:)
603 WHERE (t%CUR%XGARDEN/=0.)
607 prn_garden(:) = zrn(:)
609 ple_garden(:) = gdm%TGD%CUR%XLE
610 pgflux_garden(:) = zgflux(:)
611 pevap_garden(:) = zevap(:)
616 zta = ppet_b_coef + ppet_a_coef * ph_garden
618 WHERE (pts_garden /= zta)
619 pac_garden(:) = max(ph_garden(:) / xcpd / prhoa(:) / (pts_garden - zta) , 0.)
623 pqsat_garden(:) =
qsat(gdm%TGD%CUR%XTG(:,1),pps(:))
626 puw_garden(:) = -zustar(:)**2
630 prn_garden(:) = xundef
631 ph_garden(:) = xundef
632 ple_garden(:) = xundef
633 pgflux_garden(:) = xundef
634 pevap_garden(:) = xundef
635 pac_garden(:) = xundef
636 pqsat_garden(:) = xundef
637 puw_garden(:) = xundef
641 IF (lhook) CALL dr_hook(
'GARDEN',1,zhook_handle)
subroutine flag_teb_garden_n(TGD, TGDO, TGDPE, T, TVG, KFLAG)
subroutine vegetation_update_garden(DTCO, DTI, IG, I, T, TOP, DTGR, TGRO, GDM, TPTIME, PTSTEP, KLU)
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 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 garden(DTCO, DTI, IG, I, TG, T, TOP, DTGR, TGRO, GDM, HIMPLICIT_WIND, TPTIME, PTSUN, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, PTSTEP, PZ_LOWCAN, PT_LOWCAN, PQ_LOWCAN, PEXNS, PRHOA, PCO2, PPS, PRR, PSR, PZENITH, PSW, PLW, PU_LOWCAN, PALBNIR_TVEG, PALBVIS_TVEG, PALBNIR_TSOIL, PALBVIS_TSOIL, PRN_GARDEN, PH_GARDEN, PLE_GARDEN, PGFLUX_GARDEN, PSFCO2, PEVAP_GARDEN, PUW_GARDEN, PRUNOFF_GARDEN, PAC_GARDEN, PQSAT_GARDEN, PTS_GARDEN, PAC_AGG_GARDEN, PHU_AGG_GARDEN, PDRAIN_GARDEN, PIRRIG_GARDEN)