SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
greenroof.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 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, &
11  psw,plw, pvmod, &
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 )
18 ! ##################################################################################
19 !
20 !!**** *GREENROOF*
21 !!
22 !! PURPOSE
23 !! -------
24 !!
25 !! call the vegetation scheme (ISBA) inside TEB for greenroofs
26 !!
27 !!** METHOD
28 !! ------
29 !! based on subroutine "garden"
30 !!
31 !! EXTERNAL
32 !! --------
33 !!
34 !!
35 !! IMPLICIT ARGUMENTS
36 !! ------------------
37 !!
38 !!
39 !! REFERENCE
40 !! ---------
41 !! Based on subroutine "garden"
42 !!
43 !! AUTHOR
44 !! ------
45 !!
46 !! C. de Munck & A. Lemonsu * Meteo-France *
47 !!
48 !! MODIFICATIONS
49 !! -------------
50 ! Original 09/2011
51 ! C. de Munck 02/2013 irrigation (drip irrigation)
52 ! B. decharme 04/2013 : Variables required in TEB to allow coupling with AROME/ALADIN/ARPEGE
53 ! phasing call isba
54 ! calculation of vegetation CO2 flux
55 ! dummy for water table / surface coupling
56 !! P. Samuelsson 10/2014 Introduced dummy variables in call to ISBA for MEB
57 !-------------------------------------------------------------------------------
58 !
59 !* 0. DECLARATIONS
60 ! ------------
61 !
63 USE modd_data_isba_n, ONLY : data_isba_t
64 USE modd_isba_grid_n, ONLY : isba_grid_t
65 USE modd_isba_n, ONLY : isba_t
66 USE modd_teb_grid_n, ONLY : teb_grid_t
67 USE modd_teb_n, ONLY : teb_t
71 USE modd_teb_irrig_n, ONLY : teb_irrig_t
73 !
74 !
75 USE modd_surf_par, ONLY: xundef
77 USE modd_csts, ONLY: xcpd
78 
79 
80 !
81 USE modi_isba
82 USE modi_vegetation_update_greenroof
83 USE modi_vegetation_evol
84 USE modi_carbon_evol
85 USE mode_thermos
86 USE modi_roof_impl_coef
87 USE modi_teb_irrig
88 !
89 !
90 USE yomhook ,ONLY : lhook, dr_hook
91 USE parkind1 ,ONLY : jprb
92 !
93 IMPLICIT NONE
94 !
95 !* 0.1 Declarations of arguments
96 !
97 !
98 !
99 TYPE(data_cover_t), INTENT(INOUT) :: dtco
100 TYPE(data_isba_t), INTENT(INOUT) :: dti
101 TYPE(isba_grid_t), INTENT(INOUT) :: ig
102 TYPE(isba_t), INTENT(INOUT) :: i
103 TYPE(teb_grid_t), INTENT(INOUT) :: tg
104 TYPE(teb_t), INTENT(INOUT) :: t
105 TYPE(teb_options_t), INTENT(INOUT) :: top
106 TYPE(teb_veg_options_t), INTENT(INOUT) :: tvg
107 TYPE(data_teb_garden_t), INTENT(INOUT) :: dtgd
108 TYPE(teb_irrig_t), INTENT(INOUT) :: tir
109 TYPE(teb_greenroof_model_t), INTENT(INOUT) :: grm
110 
111 !
112  CHARACTER(LEN=*), INTENT(IN) :: himplicit_wind ! wind implicitation option
113 ! ! 'OLD' = direct
114 ! ! 'NEW' = Taylor serie, order 1
115 TYPE(date_time) , INTENT(IN) :: tptime ! current date and time from teb
116 REAL, DIMENSION(:) , INTENT(IN) :: ptsun ! solar time (s from midnight)
117 REAL, DIMENSION(:) , INTENT(IN) :: ppew_a_coef ! implicit coefficients
118 REAL, DIMENSION(:) , INTENT(IN) :: ppew_b_coef ! for wind coupling
119 REAL, DIMENSION(:) , INTENT(IN) :: ppeq_a_coef ! implicit coefficients
120 REAL, DIMENSION(:) , INTENT(IN) :: ppeq_b_coef ! for humidity
121 REAL, DIMENSION(:) , INTENT(IN) :: ppet_a_coef ! implicit coefficients
122 REAL, DIMENSION(:) , INTENT(IN) :: ppet_b_coef ! for temperature
123 REAL , INTENT(IN) :: ptstep ! time step
124 REAL, DIMENSION(:) , INTENT(IN) :: pzref ! height of the first atmospheric level
125 REAL, DIMENSION(:) , INTENT(IN) :: puref ! reference height for the wind
126 REAL, DIMENSION(:) , INTENT(IN) :: pta ! temperature at first atm. level
127 REAL, DIMENSION(:) , INTENT(IN) :: pqa ! specific humidity at first atm. level
128 REAL, DIMENSION(:) , INTENT(IN) :: pps ! pressure at the surface
129 REAL, DIMENSION(:) , INTENT(IN) :: pexna ! Exner function at first atm. level
130 REAL, DIMENSION(:) , INTENT(IN) :: pexns ! surface Exner function
131 REAL, DIMENSION(:) , INTENT(IN) :: prhoa ! air density at the lowest level
132 REAL, DIMENSION(:) , INTENT(IN) :: pco2 ! CO2 concentration in the air (kg/m3)
133 REAL, DIMENSION(:) , INTENT(IN) :: prr ! rain rate
134 REAL, DIMENSION(:) , INTENT(IN) :: psr ! snow rate
135 REAL, DIMENSION(:) , INTENT(IN) :: pzenith ! solar zenithal angle
136 REAL, DIMENSION(:) , INTENT(IN) :: psw ! incoming total solar rad on an horizontal surface
137 REAL, DIMENSION(:) , INTENT(IN) :: plw ! atmospheric infrared radiation
138 REAL, DIMENSION(:) , INTENT(IN) :: pvmod ! module of horizontal wind near first atm. level
139 REAL, DIMENSION(:) , INTENT(IN) :: palbnir_tveg ! nearIR veg tot albedo
140 REAL, DIMENSION(:) , INTENT(IN) :: palbvis_tveg ! visible veg tot albedo
141 REAL, DIMENSION(:) , INTENT(IN) :: palbnir_tsoil ! nearIR soil tot albedo
142 REAL, DIMENSION(:) , INTENT(IN) :: palbvis_tsoil ! visible soil tot albedo
143 !
144 REAL, DIMENSION(:) , INTENT(OUT) :: prn_greenroof ! net radiation over greenroofs
145 REAL, DIMENSION(:) , INTENT(OUT) :: ph_greenroof ! sensible heat flux over greenroofs
146 REAL, DIMENSION(:) , INTENT(OUT) :: ple_greenroof ! latent heat flux over greenroofs
147 REAL, DIMENSION(:) , INTENT(OUT) :: pgflux_greenroof ! flux through the greenroofs
148 REAL, DIMENSION(:) , INTENT(OUT) :: psfco2 ! flux of greenroof CO2 (m/s*kg_CO2/kg_air)
149 REAL, DIMENSION(:) , INTENT(OUT) :: pevap_greenroof ! total evaporation over greenroofs (kg/m2/s)
150 REAL, DIMENSION(:) , INTENT(OUT) :: puw_greenroof ! friction flux (m2/s2)
151 REAL, DIMENSION(:) , INTENT(OUT) :: pac_greenroof ! greenroof aerodynamical conductance
152 REAL, DIMENSION(:) , INTENT(OUT) :: pqsat_greenroof ! saturation humidity
153 REAL, DIMENSION(:) , INTENT(INOUT) :: pts_greenroof ! greenroof radiative surface temp. (snow free)
154 REAL, DIMENSION(:) , INTENT(OUT) :: pac_agg_greenroof ! aggreg. aeodynamic resistance for greenroofs for latent heat flux
155 REAL, DIMENSION(:) , INTENT(OUT) :: phu_agg_greenroof ! aggreg. relative humidity for greenroofs for latent heat flux
156 REAL, DIMENSION(:) , INTENT(OUT) :: pdeep_flux ! Heat Flux at the bottom layer of the greenroof
157 REAL, DIMENSION(:) , INTENT(OUT) :: prunoff_greenroof ! greenroof surface runoff
158 REAL, DIMENSION(:) , INTENT(OUT) :: pdrain_greenroof ! greenroof total (vertical) drainage
159 REAL, DIMENSION(:) , INTENT(OUT) :: pirrig_greenroof ! greenroof summer irrigation rate
160 !
161 !
162 !* 0.2 Declarations of local variables
163 !
164  CHARACTER(LEN=3) :: hrain ! Rainfall spatial distribution ('DEF','SGH')
165 LOGICAL :: oflood ! Activation of the flooding scheme
166 LOGICAL :: otemp_arp ! True = time-varying force-restore soil temperature (as in ARPEGE)
167  ! False = No time-varying force-restore soil temperature (Default)
168 LOGICAL :: oglacier ! True = Over permanent snow and ice,
169 ! initialise WGI=WSAT,
170 ! Hsnow>=10m and allow 0.8<SNOALB<0.85
171  ! False = No specific treatment
172 REAL, DIMENSION(0) :: zsodelx ! Pulsation for each layer (Only used if LTEMP_ARP=True)
173 REAL, DIMENSION(SIZE(PPS)) :: zmuf ! fraction of the grid cell reached by the rainfall
174 REAL, DIMENSION(SIZE(PPS)) :: zfsat ! Topmodel saturated fraction
175 REAL, DIMENSION(SIZE(PPS),GRM%TGRO%NLAYER_GR) :: ztopqs ! Topmodel (SGH not used in TEB) lateral subsurface flow by layer
176 REAL, DIMENSION(SIZE(PPS)) :: zqsb ! Topmodel (SGH not used in TEB) output lateral subsurface
177 REAL, DIMENSION(SIZE(PPS)) :: zfwtd ! grid-cell fraction of water table to rise
178 REAL, DIMENSION(SIZE(PPS)) :: zwtd ! water table depth from TRIP or MODCOU
179 !
180 REAL, DIMENSION(SIZE(PPS)) :: zdircoszw ! orography slope cosine (=1 in TEB)
181 REAL, DIMENSION(SIZE(PPS),TVG%NNBIOMASS) :: zresp_biomass_inst ! instantaneous biomass respiration (kgCO2/kgair m/s)
182 !
183 ! temperatures & thermal conductivities
184 !
185 REAL, DIMENSION(SIZE(PPS)) :: zta ! estimate of air temperature at future time
186 ! ! step as if modified by ISBA flux alone.
187 !
188 ! desactivated diag
189 !
190 REAL, DIMENSION(SIZE(PPS)) :: zrn_isba ! net radiative flux from snow-free surface
191 REAL, DIMENSION(SIZE(PPS)) :: zh_isba ! sensible heat flux from snow-free surface
192 REAL, DIMENSION(SIZE(PPS)) :: zlei_isba ! baresoil evaporation from snow-free surface
193 REAL, DIMENSION(SIZE(PPS)) :: zleg_isba ! baresoil evaporation from snow-free surface
194 REAL, DIMENSION(SIZE(PPS)) :: zlegi_isba ! baresoil sublimation from snow-free surface
195 REAL, DIMENSION(SIZE(PPS)) :: zlev_isba ! total evapotranspiration from vegetation over
196 REAL, DIMENSION(SIZE(PPS)) :: zletr_isba ! transpiration from snow-free surface
197 REAL, DIMENSION(SIZE(PPS)) :: zustar_isba ! friction velocity from snow-free surface
198 REAL, DIMENSION(SIZE(PPS)) :: zler_isba ! evaporation from canopy water interception
199 REAL, DIMENSION(SIZE(PPS)) :: zle_isba ! latent heat flux from snow-free surface
200 REAL, DIMENSION(SIZE(PPS)) :: zgflux_isba ! net energy flux into the snow-free surface
201 REAL, DIMENSION(SIZE(PPS)) :: zrnsnow ! net radiative flux from snow (ISBA-ES:3-L) (W/m2)
202 REAL, DIMENSION(SIZE(PPS)) :: zhsnow ! sensible heat flux from snow (ISBA-ES:3-L) (W/m2)
203 REAL, DIMENSION(SIZE(PPS)) :: zhpsnow ! heat release from rainfall (ISBA-ES:3-L) (W/m2)
204 REAL, DIMENSION(SIZE(PPS)) :: zgfluxsnow ! net surface energy flux into snowpack (ISBA-ES:3-L)(W/m2)
205 REAL, DIMENSION(SIZE(PPS)) :: zustarsnow ! friction velocity over snow (ISBA-ES:3-L) (m/s)
206 REAL, DIMENSION(SIZE(PPS)) :: zgrndflux ! soil/snow interface heat flux (ISBA-ES:3-L) (W/m2)
207 REAL, DIMENSION(SIZE(PPS)) :: zsrsfc ! snowfall over snowpack (ISBA-ES:3-L) (kg/m2/s)
208 REAL, DIMENSION(SIZE(PPS)) :: zrrsfc ! rainfall over snowpack (ISBA-ES:3-L) (kg/m2/s)
209 REAL, DIMENSION(SIZE(PPS)) :: zlesl ! snowpack evaporation (ISBA-ES:3-L) (W/m2)
210 REAL, DIMENSION(SIZE(PPS)) :: zcdsnow ! snow drag coefficient (ISBA-ES:3-L) (-)
211 REAL, DIMENSION(SIZE(PPS)) :: zchsnow ! heat turbulent transfer coefficient (-)
212 !
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
270 !
271 REAL, DIMENSION(SIZE(PPS)) :: zsndrift
272 !
273 ! surfaces relative fractions
274 !
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
289 !
290 ! variables for irrigation
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
296 !
297 ! variables for deep soil
298 !
299 REAL, DIMENSION(SIZE(PPS)) :: zgammat ! not used
300 REAL, DIMENSION(SIZE(PPS)) :: ztdeep_a
301 REAL, DIMENSION(SIZE(PPS)) :: ztdeep_b
302 !
303 REAL, DIMENSION(0) :: zaosip ! A/S for increasing x
304 REAL, DIMENSION(0) :: zaosim ! A/S for decreasing x
305 REAL, DIMENSION(0) :: zaosjp ! A/S for increasing y
306 REAL, DIMENSION(0) :: zaosjm ! A/S for decreasing y
307 REAL, DIMENSION(0) :: zho2ip ! h/2 for increasing x
308 REAL, DIMENSION(0) :: zho2im ! h/2 for decreasing x
309 REAL, DIMENSION(0) :: zho2jp ! h/2 for increasing y
310 REAL, DIMENSION(0) :: zho2jm ! h/2 for decreasing y
311 REAL, DIMENSION(0) :: zz0effip! roughness length for increasing x
312 REAL, DIMENSION(0) :: zz0effim! roughness length for decreasing x
313 REAL, DIMENSION(0) :: zz0effjp! roughness length for increasing y
314 REAL, DIMENSION(0) :: zz0effjm! roughness length for decreasing y
315 REAL, DIMENSION(0) :: ztau_wood ! residence time in wood (s)
316 REAL, DIMENSION(0,0) :: zincrease
317 !
318 ! Dummy variables for MEB:
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, &
327  zz0g_without_snow, &
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
344 !
345 TYPE (date_time), DIMENSION(0) :: tpseed ! seeding date
346 TYPE (date_time), DIMENSION(0) :: tpreap ! reaping date
347 !
348 INTEGER :: ilu
349 !
350 LOGICAL :: gagri_to_grass
351 !
352 !Snow options
353 LOGICAL :: gsnowdrift,gsnowdrift_sublim,gsnow_abs_zenith
354  CHARACTER(3) :: ysnowmetamo,ysnowrad
355 !
356 REAL(KIND=JPRB) :: zhook_handle
357 !
358 !-------------------------------------------------------------------------------
359 !
360 !* 1. various initialisations
361 ! -----------------------
362 !
363 IF (lhook) CALL dr_hook('GREENROOF',0,zhook_handle)
364 ilu = SIZE(pps)
365 !
366 zdircoszw = 1.
367 !
368 hrain = 'DEF'
369 oflood = .false.
370 otemp_arp = .false.
371 oglacier = .false.
372 zmuf = 0.
373 zfsat = 0.
374 ztopqs = 0.
375 zqsb = 0.
376 zfwtd = 0.
377 zwtd = xundef
378 zsndrift = 0.
379 !
380 gagri_to_grass = .false.
381 !
382 ! Snow options
383 gsnowdrift=.true.
384 gsnowdrift_sublim=.false.
385 gsnow_abs_zenith=.false.
386 ysnowmetamo="B92"
387 ysnowrad="B92"
388 !
389 ! Van genuchten parameter (not yet inplemented)
390 !
391 !* 1.3 flood
392 ! -----
393 !
394 zffg = 0.
395 zffv = 0.
396 zff = 0.
397 zffrozen = 0.
398 zalbf = 0.
399 zemisf = 0.
400 ziflood = 0.
401 zpflood = 0.
402 zfflood = 0.
403 zpiflood = 0.
404 zleflood = 0.
405 zleiflood = 0.
406 zffg_nosnow = 0.
407 zffv_nosnow = 0.
408 !
409 !* irrigation (not implemented)
410 !
411 zirrig = 0.
412 zwatsup = 0.
413 zthresholdspt = 0.
414 girrigate = .false.
415 girriday = .false.
416 !
417 !* automatic summer irrigation
418 !
419 pirrig_greenroof(:) = 0.
420 !
421 !* deep soil implicitation with roof
422 !
423 zgammat = xundef
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)
426 !
427 !-------------------------------------------------------------------------------
428 !
429 !* Variables required in TEB to allow coupling
430 ! with AROME/ALADIN/ARPEGE as LE or EVAP
431 !
432 zlei = 0.0 ! sublimation heat flux (W/m2)
433 zsubl = 0.0 ! sublimation (kg/m2/s)
434 zts = 0.0 ! surface temperature (K) (non-radiative)
435 !
436 !-------------------------------------------------------------------------------
437 !
438 !* 9. Treatment of green areas
439 ! ------------------------
440 !
441 !radiative temperature diagnostic
442 !-------------------------------
443 !
444 !* 9.1 Summer irrigation
445 ! ------------------
446 !
447 !* irrigation automatique de type goutte à goutte (arrosage du sol seulement)
448 !
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 )
452 !
453 !* 9.2 Call ISBA for greenroofs
454 ! ------------------------
455 !
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, &
465  zp_meb_sca_sw, &
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, &
477  zz0g_without_snow, &
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, &
513  zp_tc,zp_qc, &
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, &
520  pdeep_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)
531 !
532 prunoff_greenroof(:) = zrunoff(:)
533 pdrain_greenroof(:) = zdrain(:)
534 
535 !
536 IF (grm%TGR%CUR%TSNOW%SCHEME=='3-L' .OR. grm%TGR%CUR%TSNOW%SCHEME=='CRO') grm%TGR%CUR%TSNOW%TS(:,1)=zsnowtemp(:,1)
537 !
538 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
539 ! Diagnostic of respiration carbon fluxes and soil carbon evolution
540 !
541 ! --------------------------------------------------------------------------------------
542 ! Vegetation update (in case of non-interactive vegetation):
543 ! --------------------------------------------------------------------------------------
544 !
545 IF (tvg%CPHOTO=='NON' .OR. tvg%CPHOTO=='AGS' .OR. tvg%CPHOTO=='AST') THEN
546  CALL vegetation_update_greenroof(dtco, dti, ig, i, t, top, tvg, dtgd, grm, &
547  tptime,ptstep,ilu)
548 END IF
549 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
550 ! Vegetation evolution for interactive LAI
551 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
552 !
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 )
572 END IF
573 !
574 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
575 !
576 psfco2(:)=0.
577 zresp_eco(:)=0.
578 zresp_auto(:)=0.
579 !
580 IF (tvg%CPHOTO/='NON' .AND. tvg%CRESPSL/='NON' .AND. any(grm%TGRPE%CUR%XLAI(:)/=xundef)) THEN
581  ! faire intervenir le type de vegetation du greenroof ? (CTYP_GR)
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 )
589  ! calculation of vegetation CO2 flux
590  ! Positive toward the atmosphere
591  psfco2(:) = zresp_eco(:) - zgpp(:)
592 END IF
593 !
594 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
595 !
596 !* 9. Fields required for TEB
597 ! -----------------------
598 !
599 ! energy balance
600 !
601  prn_greenroof(:) = zrn(:)
602  ph_greenroof(:) = zh(:)
603  ple_greenroof(:) = grm%TGR%CUR%XLE (:)
604  pgflux_greenroof(:) = zgflux(:)
605  pevap_greenroof(:) = zevap(:)
606 !
607 !
608 ! Estimate of green area aerodynamic conductance recomputed from heat flux,
609 ! surface (radiative) temp. and forcing air temperature (estimated at future time step)
610  zta = ppet_b_coef + ppet_a_coef * ph_greenroof
611  pac_greenroof = 0.
612  WHERE (pts_greenroof /= zta)
613  pac_greenroof(:) = max(ph_greenroof(:) / xcpd / prhoa(:) / (pts_greenroof - zta) , 0.)
614  ENDWHERE
615 !
616 ! Humidity of saturation for green areas
617  pqsat_greenroof(:) = qsat(grm%TGR%CUR%XTG(:,1),pps(:))
618 !
619 !* friction flux
620  puw_greenroof(:) = -zustar(:)**2
621 IF (lhook) CALL dr_hook('GREENROOF',1,zhook_handle)
622 !
623 !-------------------------------------------------------------------------------
624 !
625 !
626 END SUBROUTINE greenroof
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)
Definition: greenroof.F90:6
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 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)
Definition: carbon_evol.F90:6
subroutine vegetation_update_greenroof(DTCO, DTI, IG, I, T, TOP, TVG, DTGD, GRM, TPTIME, PTSTEP, KLU)