SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
garden.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #########
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, &
9  ptstep, pz_lowcan, &
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 )
17 ! ##########################################################################
18 !
19 !!**** *GARDEN*
20 !!
21 !! PURPOSE
22 !! -------
23 !
24 !!call the vegetation scheme (ISBA) inside TEB
25 !
26 !!** METHOD
27 ! ------
28 !
29 !
30 !! EXTERNAL
31 !! --------
32 !!
33 !!
34 !! IMPLICIT ARGUMENTS
35 !! ------------------
36 !!
37 !!
38 !! REFERENCE
39 !! ---------
40 !!
41 !!
42 !! AUTHOR
43 !! ------
44 !!
45 !! A. Lemonsu * Meteo-France *
46 !!
47 !! MODIFICATIONS
48 !! -------------
49 !! Original 05/2009
50 ! B. decharme 04/2013 : variables for surf/atm coupling
51 ! dummy for water table / surface coupling
52 !! P. Samuelsson 10/2014 Introduced dummy variables in call to ISBA for MEB
53 !-------------------------------------------------------------------------------
54 !
55 !* 0. DECLARATIONS
56 ! ------------
57 !
59 USE modd_data_isba_n, ONLY : data_isba_t
60 USE modd_isba_grid_n, ONLY : isba_grid_t
61 USE modd_isba_n, ONLY : isba_t
62 USE modd_teb_grid_n, ONLY : teb_grid_t
63 USE modd_teb_n, ONLY : teb_t
68 !
70 USE modd_surf_par, ONLY: xundef
71 USE modd_csts, ONLY: xcpd
72 !
73 !
74 USE modi_isba
75 USE modi_vegetation_update_garden
76 USE mode_thermos
77 !
78 USE modi_flag_teb_garden_n
79 USE modi_carbon_evol
80 USE modi_vegetation_evol
81 USE modi_teb_irrig
82 !
83 USE yomhook ,ONLY : lhook, dr_hook
84 USE parkind1 ,ONLY : jprb
85 !
86 IMPLICIT NONE
87 !
88 !* 0.1 Declarations of arguments
89 !
90 !
91 !
92 TYPE(data_cover_t), INTENT(INOUT) :: dtco
93 TYPE(data_isba_t), INTENT(INOUT) :: dti
94 TYPE(isba_grid_t), INTENT(INOUT) :: ig
95 TYPE(isba_t), INTENT(INOUT) :: i
96 TYPE(teb_grid_t), INTENT(INOUT) :: tg
97 TYPE(teb_t), INTENT(INOUT) :: t
98 TYPE(teb_options_t), INTENT(INOUT) :: top
99 TYPE(teb_greenroof_options_t), INTENT(INOUT) :: tgro
100 TYPE(data_teb_greenroof_t), INTENT(INOUT) :: dtgr
101 TYPE(teb_garden_model_t), INTENT(INOUT) :: gdm
102 !
103  CHARACTER(LEN=*), INTENT(IN) :: himplicit_wind ! wind implicitation option
104 ! ! 'OLD' = direct
105 ! ! 'NEW' = Taylor serie, order 1
106 TYPE(date_time) , INTENT(IN) :: tptime ! current date and time from teb
107 REAL, DIMENSION(:) , INTENT(IN) :: ptsun ! solar time (s from midnight)
108 REAL, DIMENSION(:) , INTENT(IN) :: ppew_a_coef ! implicit coefficients
109 REAL, DIMENSION(:) , INTENT(IN) :: ppew_b_coef ! for wind coupling
110 REAL, DIMENSION(:) , INTENT(IN) :: ppeq_a_coef ! implicit coefficients
111 REAL, DIMENSION(:) , INTENT(IN) :: ppeq_b_coef ! for humidity
112 REAL, DIMENSION(:) , INTENT(IN) :: ppet_a_coef ! implicit coefficients
113 REAL, DIMENSION(:) , INTENT(IN) :: ppet_b_coef ! for temperature
114 REAL , INTENT(IN) :: ptstep ! time step
115 REAL, DIMENSION(:) , INTENT(IN) :: pz_lowcan ! height of atm. var. near the road
116 REAL, DIMENSION(:) , INTENT(IN) :: pt_lowcan ! temp. near the road
117 REAL, DIMENSION(:) , INTENT(IN) :: pq_lowcan ! hum. near the road
118 REAL, DIMENSION(:) , INTENT(IN) :: pps ! pressure at the surface
119 REAL, DIMENSION(:) , INTENT(IN) :: pexns ! surface exner function
120 REAL, DIMENSION(:) , INTENT(IN) :: prhoa ! air density at the lowest level
121 REAL, DIMENSION(:) , INTENT(IN) :: pco2 ! CO2 concentration in the air (kg/m3)
122 REAL, DIMENSION(:) , INTENT(IN) :: prr ! rain rate
123 REAL, DIMENSION(:) , INTENT(IN) :: psr ! snow rate
124 REAL, DIMENSION(:) , INTENT(IN) :: pzenith ! solar zenithal angle
125 REAL, DIMENSION(:) , INTENT(IN) :: psw ! incoming total solar rad on an horizontal surface
126 REAL, DIMENSION(:) , INTENT(IN) :: plw ! atmospheric infrared radiation
127 REAL, DIMENSION(:) , INTENT(IN) :: pu_lowcan ! wind near the road
128 REAL, DIMENSION(:) , INTENT(IN) :: palbnir_tveg ! nearIR veg tot albedo
129 REAL, DIMENSION(:) , INTENT(IN) :: palbvis_tveg ! visible veg tot albedo
130 REAL, DIMENSION(:) , INTENT(IN) :: palbnir_tsoil ! nearIR soil tot albedo
131 REAL, DIMENSION(:) , INTENT(IN) :: palbvis_tsoil ! visible soil tot albedo
132 !
133 !
134 REAL, DIMENSION(:) , INTENT(OUT) :: prn_garden ! net radiation over green areas
135 REAL, DIMENSION(:) , INTENT(OUT) :: ph_garden ! sensible heat flux over green areas
136 REAL, DIMENSION(:) , INTENT(OUT) :: ple_garden ! latent heat flux over green areas
137 REAL, DIMENSION(:) , INTENT(OUT) :: pgflux_garden ! flux through the green areas
138 REAL, DIMENSION(:) , INTENT(OUT) :: psfco2 ! flux of CO2 positive toward the atmosphere (m/s*kg_CO2/kg_air)
139 REAL, DIMENSION(:) , INTENT(OUT) :: pevap_garden ! total evaporation over gardens (kg/m2/s)
140 REAL, DIMENSION(:) , INTENT(OUT) :: puw_garden ! friction flux (m2/s2)
141 REAL, DIMENSION(:) , INTENT(OUT) :: prunoff_garden ! runoff over garden (kg/m2/s)
142 REAL, DIMENSION(:) , INTENT(OUT) :: pac_garden ! aerodynamical conductance
143 REAL, DIMENSION(:) , INTENT(OUT) :: pqsat_garden ! saturation humidity
144 REAL, DIMENSION(:) , INTENT(INOUT) :: pts_garden ! radiative surface temp. (snow free)
145 REAL, DIMENSION(:) , INTENT(OUT) :: pac_agg_garden ! aggreg. aeodynamic resistance for green areas for latent heat flux
146 REAL, DIMENSION(:) , INTENT(OUT) :: phu_agg_garden ! aggreg. relative humidity for green areas for latent heat flux
147 REAL, DIMENSION(:) , INTENT(OUT) :: pdrain_garden ! garden total (vertical) drainage
148 REAL, DIMENSION(:) , INTENT(OUT) :: pirrig_garden ! garden summer irrigation rate
149 !
150 !
151 !* 0.2 Declarations of local variables
152 !
153  CHARACTER(LEN=3) :: hrain ! Rainfall spatial distribution
154  ! 'DEF' = No rainfall spatial distribution
155  ! 'SGH' = Rainfall exponential spatial distribution
156 LOGICAL :: oflood ! Activation of the flooding scheme
157 LOGICAL :: otemp_arp ! True = time-varying force-restore soil temperature (as in ARPEGE)
158  ! False = No time-varying force-restore soil temperature (Default)
159 LOGICAL :: oglacier ! True = Over permanent snow and ice,
160 ! initialise WGI=WSAT,
161 ! Hsnow>=10m and allow 0.8<SNOALB<0.85
162  ! False = No specific treatment
163 REAL, DIMENSION(0) :: zsodelx ! Pulsation for each layer (Only used if LTEMP_ARP=True)
164 !
165 REAL, DIMENSION(SIZE(PPS)) :: zmuf ! fraction of the grid cell reached by the rainfall
166 REAL, DIMENSION(SIZE(PPS)) :: zfsat ! Topmodel (SGH not used in TEB) saturated fraction
167 REAL, DIMENSION(SIZE(PPS),GDM%TGDO%NGROUND_LAYER) :: ztopqs ! Topmodel (SGH not used in TEB) lateral subsurface flow by layer
168 REAL, DIMENSION(SIZE(PPS)) :: zqsb ! Topmodel (SGH not used in TEB) output lateral subsurface
169 REAL, DIMENSION(SIZE(PPS)) :: zfwtd ! grid-cell fraction of water table to rise
170 REAL, DIMENSION(SIZE(PPS)) :: zwtd ! water table depth from Obs, TRIP or MODCOU
171 !
172 REAL, DIMENSION(SIZE(PPS)) :: zdircoszw ! orography slope cosine (=1 in TEB)
173 REAL, DIMENSION(SIZE(PPS),GDM%TVG%NNBIOMASS) :: zresp_biomass_inst ! instantaneous biomass respiration (kgCO2/kgair m/s)
174 !
175 ! temperatures
176 !
177 REAL, DIMENSION(SIZE(PPS)) :: zta ! estimate of air temperature at future time
178 ! ! step as if modified by ISBA flux alone.
179 REAL, DIMENSION(SIZE(PPS)) :: zdeep_flux ! heat flux at base of the deep soil
180 !
181 ! desactivated diag
182 !
183 REAL, DIMENSION(SIZE(PPS)) :: zrn_isba ! net radiative flux from snow-free surface
184 REAL, DIMENSION(SIZE(PPS)) :: zh_isba ! sensible heat flux from snow-free surface
185 REAL, DIMENSION(SIZE(PPS)) :: zlei_isba ! baresoil evaporation from snow-free surface
186 REAL, DIMENSION(SIZE(PPS)) :: zleg_isba ! baresoil evaporation from snow-free surface
187 REAL, DIMENSION(SIZE(PPS)) :: zlegi_isba ! baresoil sublimation from snow-free surface
188 REAL, DIMENSION(SIZE(PPS)) :: zlev_isba ! total evapotranspiration from vegetation over
189 REAL, DIMENSION(SIZE(PPS)) :: zletr_isba ! transpiration from snow-free surface
190 REAL, DIMENSION(SIZE(PPS)) :: zustar_isba ! friction velocity from snow-free
191 REAL, DIMENSION(SIZE(PPS)) :: zler_isba ! evaporation from canopy water interception
192 REAL, DIMENSION(SIZE(PPS)) :: zle_isba ! latent heat flux from snow-free surface
193 REAL, DIMENSION(SIZE(PPS)) :: zgflux_isba ! net energy flux into the snow-free surface
194 REAL, DIMENSION(SIZE(PPS)) :: zrnsnow ! net radiative flux from snow (ISBA-ES:3-L) (W/m2)
195 REAL, DIMENSION(SIZE(PPS)) :: zhsnow ! sensible heat flux from snow (ISBA-ES:3-L) (W/m2)
196 REAL, DIMENSION(SIZE(PPS)) :: zhpsnow ! heat release from rainfall (ISBA-ES:3-L) (W/m2)
197 REAL, DIMENSION(SIZE(PPS)) :: zgfluxsnow ! net surface energy flux into snowpack (ISBA-ES:3-L)(W/m2)
198 REAL, DIMENSION(SIZE(PPS)) :: zustarsnow ! friction velocity over snow (ISBA-ES:3-L) (m/s)
199 REAL, DIMENSION(SIZE(PPS)) :: zgrndflux ! soil/snow interface heat flux (ISBA-ES:3-L) (W/m2)
200 REAL, DIMENSION(SIZE(PPS)) :: zsrsfc ! snowfall over snowpack (ISBA-ES:3-L) (kg/m2/s)
201 REAL, DIMENSION(SIZE(PPS)) :: zrrsfc ! rainfall over snowpack (ISBA-ES:3-L) (kg/m2/s)
202 REAL, DIMENSION(SIZE(PPS)) :: zlesl ! snowpack evaporation (ISBA-ES:3-L) (W/m2)
203 REAL, DIMENSION(SIZE(PPS)) :: zcdsnow ! snow drag coefficient (ISBA-ES:3-L) (-)
204 REAL, DIMENSION(SIZE(PPS)) :: zchsnow ! heat turbulent transfer coefficient (-)
205 !
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 !Sublimation
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
264 !
265 REAL, DIMENSION(SIZE(PPS)) :: zsndrift
266 !
267 ! surfaces relative fractions
268 ! for flood
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
283 !
284 ! variables for irrigation
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
290 !
291 !
292 ! variables for deep soil temperature
293 REAL, DIMENSION(SIZE(PPS)) :: ztdeep_a
294 REAL, DIMENSION(SIZE(PPS)) :: ztdeep_b
295 REAL, DIMENSION(SIZE(PPS)) :: zgammat
296 !
297 REAL, DIMENSION(0) :: zaosip ! A/S for increasing x
298 REAL, DIMENSION(0) :: zaosim ! A/S for decreasing x
299 REAL, DIMENSION(0) :: zaosjp ! A/S for increasing y
300 REAL, DIMENSION(0) :: zaosjm ! A/S for decreasing y
301 REAL, DIMENSION(0) :: zho2ip ! h/2 for increasing x
302 REAL, DIMENSION(0) :: zho2im ! h/2 for decreasing x
303 REAL, DIMENSION(0) :: zho2jp ! h/2 for increasing y
304 REAL, DIMENSION(0) :: zho2jm ! h/2 for decreasing y
305 REAL, DIMENSION(0) :: zz0effip! roughness length for increasing x
306 REAL, DIMENSION(0) :: zz0effim! roughness length for decreasing x
307 REAL, DIMENSION(0) :: zz0effjp! roughness length for increasing y
308 REAL, DIMENSION(0) :: zz0effjm! roughness length for decreasing y
309 REAL, DIMENSION(0) :: ztau_wood ! residence time in wood (s)
310 REAL, DIMENSION(0,0) :: zincrease
311 !
312 ! Dummy variables for MEB:
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, &
321  zz0g_without_snow, &
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
338 !
339 TYPE (date_time), DIMENSION(0) :: tpseed ! seeding date
340 TYPE (date_time), DIMENSION(0) :: tpreap ! reaping date
341 !
342 INTEGER :: ilu
343 !
344 LOGICAL :: gmask, gagri_to_grass
345 !
346 !Snow options
347 LOGICAL :: gsnowdrift,gsnowdrift_sublim,gsnow_abs_zenith
348  CHARACTER(3) :: ysnowmetamo,ysnowrad
349 !
350 REAL(KIND=JPRB) :: zhook_handle
351 !
352 !-------------------------------------------------------------------------------
353 !
354 !* 1. various initialisations
355 ! -----------------------
356 !
357 IF (lhook) CALL dr_hook('GARDEN',0,zhook_handle)
358 ilu = SIZE(pps)
359 !
360 zdircoszw = 1.
361 !
362 hrain = 'DEF'
363 oflood = .false.
364 otemp_arp = .false.
365 oglacier = .false.
366 zmuf = 0.
367 zfsat = 0.
368 ztopqs = 0.
369 zqsb = 0.
370 zfwtd = 0.
371 zwtd = xundef
372 zsndrift = 0.
373 !
374 gagri_to_grass = .false.
375 !
376 !* 1.2 flood
377 ! -----
378 !
379 zffg = 0.
380 zffv = 0.
381 zff = 0.
382 zffrozen = 0.
383 zalbf = 0.
384 zemisf = 0.
385 ziflood = 0.
386 zpflood = 0.
387 zfflood = 0.
388 zpiflood = 0.
389 zleflood = 0.
390 zleiflood = 0.
391 zffg_nosnow = 0.
392 zffv_nosnow = 0.
393 !
394 !* ISBA like irrigation (not implemented)
395 !
396 zirrig = 0.
397 zwatsup = 0.
398 zthresholdspt = 0.
399 girrigate = .false.
400 girriday = .false.
401 !
402 ztdeep_a = xundef
403 ztdeep_b = xundef
404 zgammat = xundef
405 !
406 !-------------------------------------------------------------------------------
407 !
408 !* Variables required in TEB to allow coupling
409 ! with AROME/ALADIN/ARPEGE as LE or EVAP
410 !
411 zlei = 0.0 ! sublimation heat flux (W/m2)
412 zsubl = 0.0 ! sublimation (kg/m2/s)
413 zts = 0.0 ! surface temperature (K) (non-radiative)
414 !
415 !-------------------------------------------------------------------------------
416 ! Snow options
417 gsnowdrift=.true.
418 gsnowdrift_sublim=.false.
419 gsnow_abs_zenith=.false.
420 ysnowmetamo="B92"
421 ysnowrad="B92"
422 !-------------------------------------------------------------------------------
423 !
424 !* 2. Treatment of green areas
425 ! ------------------------
426 !
427 !
428 !
429 !* 2.1 Automatic irrigation
430 ! --------------------
431 !
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 )
435 !
436 !* 2.2 Call ISBA for green areas
437 ! -------------------------
438 !
439 !
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, &
450  zp_meb_sca_sw, &
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, &
463  zz0g_without_snow, &
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, &
501  zmelt, zmeltadv, &
502  zp_tc,zp_qc, &
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, &
509  zdeep_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 )
520 !
521 !
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)
524 !
525 IF (gdm%TVG%LTR_ML) THEN
526  gmask = ( tptime%TIME - ptstep < 0. ) .AND. ( tptime%TIME >= 0. )
527  IF (gmask) THEN
528  zdfaparc(:) = zfaparc(:) / zmus(:)
529  zdfapirc(:) = zfapirc(:) / zmus(:)
530  zdlai_effc(:) = zlai_effc(:) / zmus(:)
531  ENDIF
532 ENDIF
533 !
534 ! --------------------------------------------------------------------------------------
535 ! Vegetation update (in case of non-interactive vegetation):
536 ! --------------------------------------------------------------------------------------
537 !
538 IF (gdm%TVG%CPHOTO=='NON' .OR. gdm%TVG%CPHOTO=='AGS' .OR. gdm%TVG%CPHOTO=='AST') THEN
539  CALL vegetation_update_garden(dtco, dti, ig, i, t, top, dtgr, tgro, gdm, &
540  tptime,ptstep,ilu)
541 END IF
542 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
543 ! Vegetation evolution for interactive LAI
544 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
545 !
546 IF (gdm%TVG%CPHOTO=='LAI' .OR. gdm%TVG%CPHOTO=='LST' .OR. gdm%TVG%CPHOTO=='NIT') THEN
547  CALL vegetation_evol(gdm%TVG%CISBA, gdm%TVG%CPHOTO, gdm%TVG%CRESPSL, &
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 )
565 END IF
566 !
567 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
568 ! Diagnostic of respiration carbon fluxes and soil carbon evolution
569 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
570 !
571 psfco2(:)=0.
572 zresp_eco(:)=0.
573 zresp_auto(:)=0.
574 !
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 )
583  ! calculation of vegetation CO2 flux
584  psfco2(:) = - zgpp(:) + zresp_eco(:)
585 END IF
586 !
587 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
588 !
589 !* 4. Set undefined values for points where there is no garden
590 ! --------------------------------------------------------
591 !
592 ! This way, these points are clearly flaged, and one will not try to interpret
593 ! the values for those points
594 !
595  CALL flag_teb_garden_n(gdm%TGD, gdm%TGDO, gdm%TGDPE, t, gdm%TVG, &
596  2)
597 !
598 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
599 !
600 !* 9. Fields required for TEB
601 ! -----------------------
602 !
603 WHERE (t%CUR%XGARDEN/=0.)
604  !
605  ! energy balance
606  !
607  prn_garden(:) = zrn(:)
608  ph_garden(:) = zh(:)
609  ple_garden(:) = gdm%TGD%CUR%XLE
610  pgflux_garden(:) = zgflux(:)
611  pevap_garden(:) = zevap(:)
612  !
613  !
614  ! Estimate of green area aerodynamic conductance recomputed from heat flux,
615  ! surface (radiative) temp. and forcing air temperature (estimated at future time step)
616  zta = ppet_b_coef + ppet_a_coef * ph_garden
617  pac_garden = 0.
618  WHERE (pts_garden /= zta)
619  pac_garden(:) = max(ph_garden(:) / xcpd / prhoa(:) / (pts_garden - zta) , 0.)
620  ENDWHERE
621  !
622  ! Humidity of saturation for green areas
623  pqsat_garden(:) = qsat(gdm%TGD%CUR%XTG(:,1),pps(:))
624  !
625  !* friction flux
626  puw_garden(:) = -zustar(:)**2
627  !
628 ELSEWHERE
629  !
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
638  !
639 END WHERE
640 !
641 IF (lhook) CALL dr_hook('GARDEN',1,zhook_handle)
642 !
643 !-------------------------------------------------------------------------------
644 !
645 !
646 END SUBROUTINE garden
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)
Definition: teb_irrig.F90:6
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)
Definition: isba.F90:6
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)
Definition: carbon_evol.F90:6
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)
Definition: garden.F90:6