SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
modd_teb_greenroof_pgdn.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 !##################
7 !##################
8 !
9 !!**** *MODD_TEB_GREENROOF - declaration of ISBA scheme packed surface parameters for urban green roofs
10 !!
11 !! PURPOSE
12 !! -------
13 !
14 !!
15 !!** IMPLICIT ARGUMENTS
16 !! ------------------
17 !! None
18 !!
19 !! REFERENCE
20 !! ---------
21 !!
22 !! AUTHOR
23 !! ------
24 !! A. Lemonsu *Meteo France*
25 !!
26 !! MODIFICATIONS
27 !! -------------
28 !! Original 09/2009
29 !! C. de Munck 06/2011
30 !! V. Masson 06/2013 splits module in 4
31 !!
32 !-------------------------------------------------------------------------------
33 !
34 !* 0. DECLARATIONS
35 ! ------------
36 !
37 !
38 USE yomhook ,ONLY : lhook, dr_hook
39 USE parkind1 ,ONLY : jprb
40 !
41 IMPLICIT NONE
42 
43 
45 !-------------------------------------------------------------------------------
46 !
47 ! Mask and number of grid elements containing patches/tiles:
48 !
49  REAL, POINTER, DIMENSION(:,:) :: XVEGTYPE ! fraction of each vegetation type for
50 ! ! each grid mesh (-)
51 !
52 !-------------------------------------------------------------------------------
53 !
54 ! Averaged Surface radiative parameters:
55 !
56  REAL, POINTER, DIMENSION(:) :: XALBNIR_DRY ! dry soil near-infra-red albedo (-)
57  REAL, POINTER, DIMENSION(:) :: XALBVIS_DRY ! dry soil visible albedo (-)
58  REAL, POINTER, DIMENSION(:) :: XALBUV_DRY ! dry soil UV albedo (-)
59  REAL, POINTER, DIMENSION(:) :: XALBNIR_WET ! wet soil near-infra-red albedo (-)
60  REAL, POINTER, DIMENSION(:) :: XALBVIS_WET ! wet soil visible albedo (-)
61  REAL, POINTER, DIMENSION(:) :: XALBUV_WET ! wet soil UV albedo (-)
62  REAL, POINTER, DIMENSION(:) :: XALBNIR_SOIL ! soil near-infra-red albedo (-)
63  REAL, POINTER, DIMENSION(:) :: XALBVIS_SOIL ! soil visible albedo (-)
64  REAL, POINTER, DIMENSION(:) :: XALBUV_SOIL ! soil UV albedo (-)
65 !
66 !-------------------------------------------------------------------------------
67 !
68 ! Input Parameters, per patch:
69 !
70 ! - vegetation + bare soil:
71 !
72  REAL, POINTER, DIMENSION(:) :: XZ0_O_Z0H ! ratio of surface roughness lengths
73 ! ! (momentum to heat) (-)
74 
75 !
76 ! - vegetation:
77 !
78  REAL, POINTER, DIMENSION(:) :: XALBNIR_VEG ! vegetation near-infra-red albedo (-)
79  REAL, POINTER, DIMENSION(:) :: XALBVIS_VEG ! vegetation visible albedo (-)
80  REAL, POINTER, DIMENSION(:) :: XALBUV_VEG ! vegetation UV albedo (-)
81 !
82 ! - vegetation: default option (Jarvis) and general parameters:
83 !
84  REAL, POINTER, DIMENSION(:) :: XWRMAX_CF ! coefficient for maximum water
85  ! interception
86  ! storage capacity on the vegetation (-)
87  REAL, POINTER, DIMENSION(:) :: XRSMIN ! minimum stomatal resistance (s/m)
88  REAL, POINTER, DIMENSION(:) :: XGAMMA ! coefficient for the calculation
89  ! of the surface stomatal
90  ! resistance
91  REAL, POINTER, DIMENSION(:) :: XCV ! vegetation thermal inertia coefficient (K m2/J)
92  REAL, POINTER, DIMENSION(:) :: XRGL ! maximum solar radiation
93  ! usable in photosynthesis (W/m2)
94  REAL, POINTER, DIMENSION(:,:) :: XROOTFRAC ! root fraction profile ('DIF' option)
95 !
96 !-------------------------------------------------------------------------------
97 !
98 ! - vegetation: Ags parameters ('AGS', 'LAI', 'AST', 'LST', 'NIT', 'NCB' options)
99 !
100  REAL, POINTER, DIMENSION(:) :: XABC ! abscissa needed for integration
101  ! of net assimilation and stomatal
102  ! conductance over canopy depth (-)
103  REAL, POINTER, DIMENSION(:) :: XPOI ! Gaussian weights for integration
104  ! of net assimilation and stomatal
105  ! conductance over canopy depth (-)
106  REAL, POINTER, DIMENSION(:) :: XBSLAI ! ratio d(biomass)/d(lai) (kg/m2)
107  REAL, POINTER, DIMENSION(:) :: XLAIMIN ! minimum LAI (Leaf Area Index) (m2/m2)
108  REAL, POINTER, DIMENSION(:) :: XSEFOLD ! e-folding time for senescence (s)
109  REAL, POINTER, DIMENSION(:) :: XH_TREE ! height of trees (m)
110  REAL, POINTER, DIMENSION(:) :: XANF ! total assimilation over canopy (
111  REAL, POINTER, DIMENSION(:) :: XANMAX ! maximum photosynthesis rate (
112  REAL, POINTER, DIMENSION(:) :: XFZERO ! ideal value of F, no photo-
113  ! respiration or saturation deficit (
114  REAL, POINTER, DIMENSION(:) :: XEPSO ! maximum initial quantum use
115  ! efficiency (mg J-1 PAR)
116  REAL, POINTER, DIMENSION(:) :: XGAMM ! CO2 conpensation concentration (ppm)
117  REAL, POINTER, DIMENSION(:) :: XQDGAMM ! Q10 function for CO2 conpensation
118  ! concentration (-)
119  REAL, POINTER, DIMENSION(:) :: XGMES ! mesophyll conductance (m s-1)
120  REAL, POINTER, DIMENSION(:) :: XRE25 ! Ecosystem respiration parameter (kg/kg.m.s-1)
121  REAL, POINTER, DIMENSION(:) :: XQDGMES ! Q10 function for mesophyll conductance (-)
122  REAL, POINTER, DIMENSION(:) :: XT1GMES ! reference temperature for computing
123  ! compensation concentration function for
124  ! mesophyll conductance: minimum
125  ! temperature (K)
126  REAL, POINTER, DIMENSION(:) :: XT2GMES ! reference temperature for computing
127  ! compensation concentration function for
128  ! mesophyll conductance: maximum
129  ! temperature (K)
130  REAL, POINTER, DIMENSION(:) :: XAMAX ! leaf photosynthetic capacity (mg m-2 s-1)
131  REAL, POINTER, DIMENSION(:) :: XQDAMAX ! Q10 function for leaf photosynthetic
132  ! capacity (-)
133  REAL, POINTER, DIMENSION(:) :: XT1AMAX ! reference temperature for computing
134  ! compensation concentration function for
135  ! leaf photosynthetic capacity: minimum
136  ! temperature (K)
137  REAL, POINTER, DIMENSION(:) :: XT2AMAX ! reference temperature for computing
138  ! compensation concentration function for
139  ! leaf photosynthetic capacity: maximum
140  ! temperature (K)
141 !
142 !-------------------------------------------------------------------------------
143 !
144 ! - vegetation: Ags Stress parameters ('AST', 'LST', 'NIT', 'NCB' options)
145 !
146  LOGICAL, POINTER, DIMENSION(:):: LSTRESS ! vegetation response (offensive/defensive)
147  REAL, POINTER, DIMENSION(:) :: XF2I ! critical normilized soil water
148  ! content for stress parameterisation
149  REAL, POINTER, DIMENSION(:) :: XGC ! cuticular conductance (m s-1)
150  REAL, POINTER, DIMENSION(:) :: XAH ! coefficients for herbaceous water stress
151  ! response (offensive or defensive) (log(mm/s))
152  REAL, POINTER, DIMENSION(:) :: XBH ! coefficients for herbaceous water stress
153  ! response (offensive or defensive) (-)
154  REAL, POINTER, DIMENSION(:) :: XDMAX ! maximum air saturation deficit
155  ! tolerate by vegetation (kg/kg)
156 !
157 !-------------------------------------------------------------------------------
158 !
159 ! - vegetation: Ags Nitrogen-model parameters ('NIT', 'NCB' option)
160 !
161  REAL, POINTER, DIMENSION(:) :: XCE_NITRO ! leaf aera ratio sensitivity to
162  ! nitrogen concentration (m2/kg)
163  REAL, POINTER, DIMENSION(:) :: XCF_NITRO ! lethal minimum value of leaf area
164  ! ratio (m2/kg)
165  REAL, POINTER, DIMENSION(:) :: XCNA_NITRO ! nitrogen concentration of active
166  ! biomass (kg/kg)
167  REAL, POINTER, DIMENSION(:) :: XBSLAI_NITRO ! biomass/LAI ratio from nitrogen
168  ! decline theory (kg/m2)
169 !
170 !-------------------------------------------------------------------------------
171 !
172 ! - soil: primary parameters
173 !
174  REAL, POINTER, DIMENSION(:,:) :: XOM_GR ! green roof OM fraction (-)
175  REAL, POINTER, DIMENSION(:,:) :: XSAND_GR ! green roof sand fraction of the non-OM part (-)
176  REAL, POINTER, DIMENSION(:,:) :: XCLAY_GR ! green roof clay fraction of the non-OM part (-)
177  REAL, POINTER, DIMENSION(:) :: XRUNOFFB_GR ! green roof sub-grid surface runoff slope parameter (-)
178  REAL, POINTER, DIMENSION(:) :: XWDRAIN_GR ! green roof continuous drainage parameter (-)
179  REAL, POINTER, DIMENSION(:) :: XTAUICE ! soil freezing characteristic timescale (s)
180  REAL, POINTER, DIMENSION(:) :: XGAMMAT ! 'Force-Restore' timescale when using a
181  ! prescribed lower boundary temperature (1/days)
182  REAL, POINTER, DIMENSION(:,:) :: XDG ! soil layer thicknesses (m)
183  ! NOTE: in Force-Restore mode, the
184  ! uppermost layer thickness is superficial
185  ! and is only explicitly used for soil
186  ! water phase changes (m)
187  REAL, POINTER, DIMENSION(:) :: XRUNOFFD ! depth over which sub-grid runoff is
188  ! computed: in Force-Restore this is the
189  ! total soil column ('2-L'), or root zone
190  ! ('3-L'). For the 'DIF' option, it can
191  ! be any depth within soil column (m)
192 !
193  REAL, POINTER, DIMENSION(:,:) :: XSOILWGHT ! ISBA-DIF: weights for vertical
194  REAL, POINTER, DIMENSION(:,:) :: XDZG ! soil layers thicknesses (DIF option)
195  REAL, POINTER, DIMENSION(:,:) :: XDZDIF ! distance between consecuative layer mid-points (DIF option)
196 !
197  INTEGER, POINTER, DIMENSION(:) :: NWG_LAYER ! Number of soil moisture layers for DIF
198  REAL, POINTER, DIMENSION(:) :: XDROOT ! effective root depth for DIF (m)
199  REAL, POINTER, DIMENSION(:) :: XDG2 ! root depth for DIF as 3-L (m)
200 !-------------------------------------------------------------------------------
201 !
202 ! - soil: Secondary parameters: hydrology
203 !
204  REAL, POINTER, DIMENSION(:) :: XC1SAT ! 'Force-Restore' C1 coefficient at
205  ! saturation (-)
206  REAL, POINTER, DIMENSION(:) :: XC2REF ! 'Force-Restore' reference value of C2 (-)
207  REAL, POINTER, DIMENSION(:,:) :: XC3 ! 'Force-Restore' C3 drainage coefficient (m)
208  REAL, POINTER, DIMENSION(:) :: XC4B ! 'Force-Restore' sub-surface vertical
209  ! diffusion coefficient (slope parameter) (-)
210  REAL, POINTER, DIMENSION(:) :: XC4REF ! 'Force-Restore' sub-surface vertical
211  ! diffusion coefficient (-)
212  REAL, POINTER, DIMENSION(:) :: XACOEF ! 'Force-Restore' surface vertical
213  ! diffusion coefficient (-)
214  REAL, POINTER, DIMENSION(:) :: XPCOEF ! 'Force-Restore' surface vertical
215  ! diffusion coefficient (-)
216  REAL, POINTER, DIMENSION(:,:) :: XWFC ! field capacity volumetric water content
217  ! profile (m3/m3)
218  REAL, POINTER, DIMENSION(:,:) :: XWWILT ! wilting point volumetric water content
219  ! profile
220  REAL, POINTER, DIMENSION(:,:) :: XWSAT ! porosity profile (m3/m3)
221  REAL, POINTER, DIMENSION(:,:) :: XBCOEF ! soil water CH78 b-parameter (-)
222  REAL, POINTER, DIMENSION(:,:) :: XCONDSAT ! hydraulic conductivity at saturation (m/s)
223  REAL, POINTER, DIMENSION(:,:) :: XMPOTSAT ! matric potential at saturation (m)
224 !
225  REAL, POINTER, DIMENSION(:) :: XPCPS
226  REAL, POINTER, DIMENSION(:) :: XPLVTT
227  REAL, POINTER, DIMENSION(:) :: XPLSTT
228 !
229 !-------------------------------------------------------------------------------
230 !
231 ! - soil: Secondary parameters: thermal
232 !
233  REAL, POINTER, DIMENSION(:) :: XCGSAT ! soil thermal inertia coefficient at
234  ! saturation (K m2/J)
235  REAL, POINTER, DIMENSION(:,:) :: XHCAPSOIL ! soil heat capacity (J/K/m3)
236  REAL, POINTER, DIMENSION(:,:) :: XCONDDRY ! soil dry thermal conductivity (W/m/K)
237  REAL, POINTER, DIMENSION(:,:) :: XCONDSLD ! soil solids thermal conductivity (W/m/K)
238  REAL, POINTER, DIMENSION(:) :: XTDEEP ! prescribed deep soil temperature
239  ! (optional) (K)
240 !
241 ! - SGH scheme
242 !
243  REAL, POINTER, DIMENSION(:) :: XD_ICE ! depth of the soil column for the calculation
244  ! of the frozen soil fraction (m)
245  REAL, POINTER, DIMENSION(:) :: XKSAT_ICE ! hydraulic conductivity at saturation
246  ! over frozen area (m s-1)
247 !-------------------------------------------------------------------------------
248 !
249 END TYPE teb_greenroof_pgd_t
250 
251 
252 
253 
254  CONTAINS
255 
256 
257 
258 !
259 
260 
261 !
262 
263 SUBROUTINE teb_greenroof_pgd_init(YTEB_GREENROOF_PGD)
264 TYPE(teb_greenroof_pgd_t), INTENT(INOUT) :: yteb_greenroof_pgd
265 REAL(KIND=JPRB) :: zhook_handle
266 IF (lhook) CALL dr_hook("MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_INIT",0,zhook_handle)
267 nullify(yteb_greenroof_pgd%XVEGTYPE)
268 nullify(yteb_greenroof_pgd%XALBNIR_DRY)
269 nullify(yteb_greenroof_pgd%XALBVIS_DRY)
270 nullify(yteb_greenroof_pgd%XALBUV_DRY)
271 nullify(yteb_greenroof_pgd%XALBNIR_WET)
272 nullify(yteb_greenroof_pgd%XALBVIS_WET)
273 nullify(yteb_greenroof_pgd%XALBUV_WET)
274 nullify(yteb_greenroof_pgd%XALBNIR_SOIL)
275 nullify(yteb_greenroof_pgd%XALBVIS_SOIL)
276 nullify(yteb_greenroof_pgd%XALBUV_SOIL)
277 nullify(yteb_greenroof_pgd%XZ0_O_Z0H)
278 nullify(yteb_greenroof_pgd%XALBNIR_VEG)
279 nullify(yteb_greenroof_pgd%XALBVIS_VEG)
280 nullify(yteb_greenroof_pgd%XALBUV_VEG)
281 nullify(yteb_greenroof_pgd%XWRMAX_CF)
282 nullify(yteb_greenroof_pgd%XRSMIN)
283 nullify(yteb_greenroof_pgd%XGAMMA)
284 nullify(yteb_greenroof_pgd%XCV)
285 nullify(yteb_greenroof_pgd%XRGL)
286 nullify(yteb_greenroof_pgd%XROOTFRAC)
287 nullify(yteb_greenroof_pgd%XABC)
288 nullify(yteb_greenroof_pgd%XPOI)
289 nullify(yteb_greenroof_pgd%XBSLAI)
290 nullify(yteb_greenroof_pgd%XLAIMIN)
291 nullify(yteb_greenroof_pgd%XSEFOLD)
292 nullify(yteb_greenroof_pgd%XH_TREE)
293 nullify(yteb_greenroof_pgd%XANF)
294 nullify(yteb_greenroof_pgd%XANMAX)
295 nullify(yteb_greenroof_pgd%XFZERO)
296 nullify(yteb_greenroof_pgd%XEPSO)
297 nullify(yteb_greenroof_pgd%XGAMM)
298 nullify(yteb_greenroof_pgd%XQDGAMM)
299 nullify(yteb_greenroof_pgd%XGMES)
300 nullify(yteb_greenroof_pgd%XRE25)
301 nullify(yteb_greenroof_pgd%XQDGMES)
302 nullify(yteb_greenroof_pgd%XT1GMES)
303 nullify(yteb_greenroof_pgd%XT2GMES)
304 nullify(yteb_greenroof_pgd%XAMAX)
305 nullify(yteb_greenroof_pgd%XQDAMAX)
306 nullify(yteb_greenroof_pgd%XT1AMAX)
307 nullify(yteb_greenroof_pgd%XT2AMAX)
308 nullify(yteb_greenroof_pgd%LSTRESS)
309 nullify(yteb_greenroof_pgd%XF2I)
310 nullify(yteb_greenroof_pgd%XGC)
311 nullify(yteb_greenroof_pgd%XAH)
312 nullify(yteb_greenroof_pgd%XBH)
313 nullify(yteb_greenroof_pgd%XDMAX)
314 nullify(yteb_greenroof_pgd%XCE_NITRO)
315 nullify(yteb_greenroof_pgd%XCF_NITRO)
316 nullify(yteb_greenroof_pgd%XCNA_NITRO)
317 nullify(yteb_greenroof_pgd%XBSLAI_NITRO)
318 nullify(yteb_greenroof_pgd%XOM_GR)
319 nullify(yteb_greenroof_pgd%XSAND_GR)
320 nullify(yteb_greenroof_pgd%XCLAY_GR)
321 nullify(yteb_greenroof_pgd%XRUNOFFB_GR)
322 nullify(yteb_greenroof_pgd%XWDRAIN_GR)
323 nullify(yteb_greenroof_pgd%XTAUICE)
324 nullify(yteb_greenroof_pgd%XGAMMAT)
325 nullify(yteb_greenroof_pgd%XDG)
326 nullify(yteb_greenroof_pgd%XRUNOFFD)
327 nullify(yteb_greenroof_pgd%XSOILWGHT)
328 nullify(yteb_greenroof_pgd%XDZG)
329 nullify(yteb_greenroof_pgd%XDZDIF)
330 nullify(yteb_greenroof_pgd%NWG_LAYER)
331 nullify(yteb_greenroof_pgd%XDROOT)
332 nullify(yteb_greenroof_pgd%XDG2)
333 nullify(yteb_greenroof_pgd%XPCPS)
334 nullify(yteb_greenroof_pgd%XPLVTT)
335 nullify(yteb_greenroof_pgd%XPLSTT)
336 nullify(yteb_greenroof_pgd%XC1SAT)
337 nullify(yteb_greenroof_pgd%XC2REF)
338 nullify(yteb_greenroof_pgd%XC3)
339 nullify(yteb_greenroof_pgd%XC4B)
340 nullify(yteb_greenroof_pgd%XC4REF)
341 nullify(yteb_greenroof_pgd%XACOEF)
342 nullify(yteb_greenroof_pgd%XPCOEF)
343 nullify(yteb_greenroof_pgd%XWFC)
344 nullify(yteb_greenroof_pgd%XWWILT)
345 nullify(yteb_greenroof_pgd%XWSAT)
346 nullify(yteb_greenroof_pgd%XBCOEF)
347 nullify(yteb_greenroof_pgd%XCONDSAT)
348 nullify(yteb_greenroof_pgd%XMPOTSAT)
349 nullify(yteb_greenroof_pgd%XCGSAT)
350 nullify(yteb_greenroof_pgd%XHCAPSOIL)
351 nullify(yteb_greenroof_pgd%XCONDDRY)
352 nullify(yteb_greenroof_pgd%XCONDSLD)
353 nullify(yteb_greenroof_pgd%XTDEEP)
354 nullify(yteb_greenroof_pgd%XD_ICE)
355 IF (lhook) CALL dr_hook("MODD_TEB_GREENROOF_N:TEB_GREENROOF_PGD_INIT",1,zhook_handle)
356 END SUBROUTINE teb_greenroof_pgd_init
357 
358 
359 END MODULE modd_teb_greenroof_pgd_n
subroutine teb_greenroof_pgd_init(YTEB_GREENROOF_PGD)