SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
modd_isban.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 MODULE modd_isba_n
7 !##################
8 !
9 !!**** *MODD_ISBA - declaration of packed surface parameters for ISBA scheme
10 !!
11 !! PURPOSE
12 !! -------
13 !
14 !!
15 !!** IMPLICIT ARGUMENTS
16 !! ------------------
17 !! None
18 !!
19 !! REFERENCE
20 !! ---------
21 !!
22 !! AUTHOR
23 !! ------
24 !! A. Boone *Meteo France*
25 !!
26 !! MODIFICATIONS
27 !! -------------
28 !! Original 20/09/02
29 !! A.L. Gibelin 04/2009 : BIOMASS and RESP_BIOMASS arrays
30 !! A.L. Gibelin 04/2009 : TAU_WOOD for NCB option
31 !! A.L. Gibelin 05/2009 : Add carbon spinup
32 !! A.L. Gibelin 06/2009 : Soil carbon variables for CNT option
33 !! A.L. Gibelin 07/2009 : Suppress RDK and transform GPP as a diagnostic
34 !! A.L. Gibelin 07/2009 : Suppress PPST and PPSTF as outputs
35 !! P. Samuelsson 02/2012 : MEB
36 !!
37 !-------------------------------------------------------------------------------
38 !
39 !* 0. DECLARATIONS
40 ! ------------
41 !
44 !
45 !
46 USE yomhook ,ONLY : lhook, dr_hook
47 USE parkind1 ,ONLY : jprb
48 !
49 IMPLICIT NONE
50 
51 TYPE isba_t
52 !-------------------------------------------------------------------------------
53 !
54 ! ISBA Scheme Options:
55 !
56  CHARACTER(LEN=4) :: CROUGH ! type of roughness length
57  ! 'Z01D'
58  ! 'Z04D'
59  CHARACTER(LEN=3) :: CISBA ! type of ISBA version:
60 ! ! '2-L' (default)
61 ! ! '3-L'
62 ! ! 'DIF'
63 !
64  CHARACTER(LEN=4) :: CPEDOTF! NOTE: Only used when HISBA = DIF
65 ! ! 'CH78' = Clapp and Hornberger 1978 for BC (Default)
66 ! ! 'CO84' = Cosby et al. 1988 for BC
67 !
68  CHARACTER(LEN=3) :: CPHOTO ! type of photosynthesis
69 ! ! 'NON'
70 ! ! 'AGS'
71 ! ! 'LAI'
72 ! ! 'LST'
73 ! ! 'AST'
74 ! ! 'NIT'
75 ! ! 'NCB'
76  LOGICAL :: LTR_ML ! new radiative transfert
77  REAL :: XRM_PATCH ! threshold to remove little fractions of patches
78  CHARACTER(LEN=4) :: CALBEDO ! albedo type
79 ! ! 'DRY '
80 ! ! 'EVOL'
81 ! ! 'WET '
82 ! ! 'USER'
83  CHARACTER(LEN=4) :: CSCOND ! Thermal conductivity
84 ! ! 'DEF ' = DEFault: NP89 implicit method
85 ! ! 'PL98' = Peters-Lidard et al. 1998 used
86 ! ! for explicit computation of CG
87  CHARACTER(LEN=4) :: CC1DRY ! C1 formulation for dry soils
88 ! ! 'DEF ' = DEFault: Giard-Bazile formulation
89 ! ! 'GB93' = Giordani 1993, Braud 1993
90 ! !discontinuous at WILT
91  CHARACTER(LEN=3) :: CSOILFRZ ! soil freezing-physics option
92 ! ! 'DEF' = Default (Boone et al. 2000;
93 ! ! Giard and Bazile 2000)
94 ! ! 'LWT' = Phase changes as above,
95 ! ! but relation between unfrozen
96 ! ! water and temperature considered
97 ! NOTE that when using the YISBA='DIF' multi-layer soil option,
98 ! the 'LWT' method is used. It is only an option
99 ! when using the force-restore soil method ('2-L' or '3-L')
100 !
101  CHARACTER(LEN=4) :: CDIFSFCOND ! Mulch effects
102 ! ! 'MLCH' = include the insulating effect of
103 ! ! leaf litter/mulch on the surf. thermal cond.
104 ! ! 'DEF ' = no mulch effect
105 ! NOTE: Only used when YISBA = DIF
106 !
107  CHARACTER(LEN=3) :: CSNOWRES ! Turbulent exchanges over snow
108 ! ! 'DEF' = Default: Louis (ISBA)
109 ! ! 'RIL' = Maximum Richardson number limit
110 ! ! for stable conditions ISBA-SNOW3L
111 ! ! turbulent exchange option
112 !
113  CHARACTER(LEN=3) :: CRESPSL ! Soil respiration
114 ! ! 'DEF' = Default: Norman (1992)
115 ! ! 'PRM' = New Parameterization
116 ! ! 'CNT' = CENTURY model (Gibelin 2007)
117 !
118  CHARACTER(LEN=3) :: CCPSURF! specific heat at surface
119 ! ! 'DRY' = default value (dry Cp)
120 ! ! 'HUM' = Cp as a fct of specific humidity
121 !
122  LOGICAL :: LTEMP_ARP ! True = time-varying force-restore soil temperature (as in ARPEGE)
123  ! False = No time-varying force-restore soil temperature (Default)
124 !
125  LOGICAL :: LGLACIER ! True = Over permanent snow and ice,
126 ! initialise WGI=WSAT,
127 ! Hsnow>=10m and allow 0.8<SNOALB<0.85
128  ! False = No specific treatment
129  LOGICAL, POINTER, DIMENSION(:) :: LMEB_PATCH ! Vector with T/F values
130  ! True = treat patch with multi-energy balance
131 ! ! False = treat patch with classical ISBA
132  LOGICAL :: LFORC_MEASURE ! True = Forcing data from observations
133 ! ! False = Forcing data from atmospheric model (default)
134 !
135  LOGICAL :: LMEB_LITTER ! Activate Litter
136  LOGICAL :: LMEB_GNDRES ! Activate Ground Resistance
137 !
138  LOGICAL :: LVEGUPD ! True = update vegetation parameters every decade
139  ! False = keep vegetation parameters constant in time
140 !
141  LOGICAL :: LNITRO_DILU ! nitrogen dilution fct of CO2 (Calvet et al. 2008)
142 !
143  LOGICAL :: LPERTSURF ! True = apply random perturbations for ensemble prediction
144  ! False = no random perturbation (default)
145 !-------------------------------------------------------------------------------
146 ! Snow options
147  LOGICAL :: LSNOWDRIFT, LSNOWDRIFT_SUBLIM ! Logicals for snowdrift and sublimation
148 !
149  LOGICAL :: LSNOW_ABS_ZENITH ! if True modify solar absorption as a function of solar zenithal angle
150  ! (physically wrong but better results in polar regions when CSNOWRAD=B92)
151 ! Scheme of snow metamorphism (Crocus)
152  CHARACTER(3) :: CSNOWMETAMO ! B92 (historical version, Brun et al 92), C13, T07, F06 (see Carmagnola et al 2014)
153 !
154 ! radiative transfer scheme in snow (Crocus)
155  CHARACTER(3) :: CSNOWRAD ! B92 (historical version, Brun et al 92), TAR, TA1, TA2 (see Libois et al 2013)
156 !-------------------------------------------------------------------------------
157 !
158  LOGICAL :: LCANOPY ! T: SBL scheme within the canopy
159 ! ! F: no atmospheric layers below forcing level
160  LOGICAL :: LCANOPY_DRAG ! T: drag activated in SBL scheme within the canopy
161 ! ! F: no drag activated in SBL atmospheric layers
162 !-------------------------------------------------------------------------------
163 !
164 ! type of initialization of vegetation: from cover types (ecoclimap) or parameters prescribed
165 !
166  LOGICAL :: LECOCLIMAP ! T: parameters computed from ecoclimap
167 ! ! F: they are read in the file
168 !
169  LOGICAL :: LCTI ! Topographic index data
170  LOGICAL :: LSOCP ! Soil organic carbon profile data
171  LOGICAL :: LPERM ! Permafrost distribution data
172  LOGICAL :: LGW ! Groudwater distribution data
173  LOGICAL :: LNOF
174 !-------------------------------------------------------------------------------
175 !
176 ! Soil and wood carbon spin up
177 !
178  LOGICAL :: LSPINUPCARBS ! T: do the soil carb spinup, F: no
179  LOGICAL :: LSPINUPCARBW ! T: do the wood carb spinup, F: no
180  LOGICAL :: LAGRI_TO_GRASS! During soil carbon spinup with ISBA-CC,
181  ! grass parameters are attributed to all agricultural PFT
182 !
183  REAL :: XSPINMAXS ! max number of times CARBON_SOIL subroutine is
184  ! called for each timestep in simulation during
185  ! acceleration procedure number
186  REAL :: XSPINMAXW ! max number of times the wood is accelerated
187  REAL :: XCO2_START ! Pre-industrial CO2 concentration
188  REAL :: XCO2_END ! Begin-transient CO2 concentration
189  INTEGER :: NNBYEARSPINS ! nbr years needed to reaches soil equilibrium
190  INTEGER :: NNBYEARSPINW ! nbr years needed to reaches wood equilibrium
191  INTEGER :: NNBYEARSOLD ! nbr years executed at curent time step
192  INTEGER :: NSPINS ! number of times the soil is accelerated
193  INTEGER :: NSPINW ! number of times the wood is accelerated
194 !
195 !-------------------------------------------------------------------------------
196 !
197 ! Mask and number of grid elements containing patches/tiles:
198 !
199  INTEGER, POINTER, DIMENSION(:) :: NSIZE_NATURE_P ! number of sub-patchs/tiles (-)
200  INTEGER, POINTER, DIMENSION(:,:) :: NR_NATURE_P ! patch/tile mask (-)
201  REAL, POINTER, DIMENSION(:,:) :: XPATCH ! fraction of each tile/patch (-)
202  REAL, POINTER, DIMENSION(:,:) :: XPATCH_OLD ! fraction of each tile/patch for land use
203  REAL, POINTER, DIMENSION(:,:) :: XVEGTYPE ! fraction of each vegetation type for
204 ! ! each grid mesh (-)
205  REAL, POINTER, DIMENSION(:,:,:) :: XVEGTYPE_PATCH ! fraction of each vegetation type for
206 ! ! each vegetation unit/patch (-)
207  INTEGER :: NPATCH ! maximum number of sub-tiles (patches)
208 ! ! used at any grid point within a
209 ! ! natural surface fraction
210  INTEGER :: NGROUND_LAYER ! number of ground layers
211 !
212  REAL, POINTER, DIMENSION(:) :: XSOILGRID ! Soil layer grid as reference for DIF
213 !
214  INTEGER :: NTEMPLAYER_ARP ! Number of force-restore soil temperature layer, including Ts (Default = 4)
215  ! Only used if LTEMP_ARP=True
216 !
217  REAL, POINTER, DIMENSION(:) :: XSODELX ! Pulsation for each layer (Only used if LTEMP_ARP=True)
218 !
219  INTEGER :: NNBIOMASS ! number of biomass pools
220  INTEGER :: NNLITTER ! number of litter pools
221  INTEGER :: NNLITTLEVS ! number of litter levels
222  INTEGER :: NNSOILCARB ! number of soil carbon pools
223 !
224 !-------------------------------------------------------------------------------
225 !
226 ! General surface parameters:
227 !
228  REAL, POINTER, DIMENSION(:) :: XZS ! relief (m)
229  REAL, POINTER, DIMENSION(:,:) :: XCOVER ! fraction of each ecosystem (-)
230  LOGICAL, POINTER, DIMENSION(:):: LCOVER ! GCOVER(i)=T --> ith cover field is not 0.
231 !
232 ! Averaged Surface radiative parameters:
233 !
234  REAL, POINTER, DIMENSION(:) :: XALBNIR_DRY ! dry soil near-infra-red albedo (-)
235  REAL, POINTER, DIMENSION(:) :: XALBVIS_DRY ! dry soil visible albedo (-)
236  REAL, POINTER, DIMENSION(:) :: XALBUV_DRY ! dry soil UV albedo (-)
237  REAL, POINTER, DIMENSION(:) :: XALBNIR_WET ! wet soil near-infra-red albedo (-)
238  REAL, POINTER, DIMENSION(:) :: XALBVIS_WET ! wet soil visible albedo (-)
239  REAL, POINTER, DIMENSION(:) :: XALBUV_WET ! wet soil UV albedo (-)
240  REAL, POINTER, DIMENSION(:,:) :: XALBNIR_SOIL ! soil near-infra-red albedo (-)
241  REAL, POINTER, DIMENSION(:,:) :: XALBVIS_SOIL ! soil visible albedo (-)
242  REAL, POINTER, DIMENSION(:,:) :: XALBUV_SOIL ! soil UV albedo (-)
243  REAL, POINTER, DIMENSION(:) :: XEMIS_NAT ! patch averaged emissivity (-)
244  REAL, POINTER, DIMENSION(:) :: XTSRAD_NAT ! patch averaged radiative temperature (K)
245 !
246 ! Subgrid orography parameters
247 !
248  REAL, DIMENSION(:), POINTER :: XAOSIP,XAOSIM,XAOSJP,XAOSJM
249 ! directional A/S quantities in 4 coordinate directions
250 ! (IP: i index up; IM: i index down; JP: j index up; JM: j index down)
251 ! They are used in soil routines to compute effective roughness length
252 !
253  REAL, DIMENSION(:), POINTER :: XHO2IP,XHO2IM,XHO2JP,XHO2JM
254 ! directional h/2 quantities in 4 coordinate directions
255 ! (IP: i index up; IM: i index down; JP: j index up; JM: j index down)
256 ! They are used in soil routines to compute effective roughness length
257 !
258  REAL, DIMENSION(:,:), POINTER :: XZ0EFFIP,XZ0EFFIM,XZ0EFFJP,XZ0EFFJM
259 ! directional total roughness lenghts in 4 coordinate directions
260 ! (IP: i index up; IM: i index down; JP: j index up; JM: j index down)
261 !
262  REAL, DIMENSION(:), POINTER :: XZ0EFFJPDIR ! heading of J direction (deg from N clockwise)
263 !
264  REAL, DIMENSION(:), POINTER :: XZ0REL ! relief roughness length (m)
265 !
266  REAL, DIMENSION(:), POINTER :: XSSO_SLOPE ! slope of S.S.O. (-)
267  REAL, DIMENSION(:), POINTER :: XSSO_STDEV ! relief standard deviation (m)
268 !-------------------------------------------------------------------------------
269 !
270 ! Input Parameters, per patch:
271 !
272 ! - vegetation + bare soil:
273 !
274  REAL, POINTER, DIMENSION(:,:) :: XZ0_O_Z0H ! ratio of surface roughness lengths
275 ! ! (momentum to heat) (-)
276  REAL, POINTER, DIMENSION(:,:) :: XALBNIR ! near-infra-red albedo (-)
277  REAL, POINTER, DIMENSION(:,:) :: XALBVIS ! visible albedo (-)
278  REAL, POINTER, DIMENSION(:,:) :: XALBUV ! UV albedo (-)
279  REAL, POINTER, DIMENSION(:,:) :: XEMIS ! surface emissivity (-)
280  REAL, POINTER, DIMENSION(:,:) :: XZ0 ! surface roughness length (m)
281 !
282 ! - vegetation:
283 !
284  REAL, POINTER, DIMENSION(:,:) :: XALBNIR_VEG ! vegetation near-infra-red albedo (-)
285  REAL, POINTER, DIMENSION(:,:) :: XALBVIS_VEG ! vegetation visible albedo (-)
286  REAL, POINTER, DIMENSION(:,:) :: XALBUV_VEG ! vegetation UV albedo (-)
287 !
288 ! - vegetation: default option (Jarvis) and general parameters:
289 !
290  REAL, POINTER, DIMENSION(:,:) :: XVEG ! vegetation cover fraction (-)
291  REAL, POINTER, DIMENSION(:,:) :: XWRMAX_CF ! coefficient for maximum water
292 ! ! interception
293 ! ! storage capacity on the vegetation (-)
294  REAL, POINTER, DIMENSION(:,:) :: XRSMIN ! minimum stomatal resistance (s/m)
295  REAL, POINTER, DIMENSION(:,:) :: XGAMMA ! coefficient for the calculation
296 ! ! of the surface stomatal
297 ! ! resistance
298  REAL, POINTER, DIMENSION(:,:) :: XCV ! vegetation thermal inertia coefficient (K m2/J)
299  REAL, POINTER, DIMENSION(:,:) :: XRGL ! maximum solar radiation
300 ! ! usable in photosynthesis (W/m2)
301  REAL, POINTER, DIMENSION(:,:,:) :: XROOTFRAC ! root fraction profile ('DIF' option)
302 !
303 ! - Multi-energy balance (MEB) parameters.
304 ! - Postfix GV denotes understory ground vegetation
305 !
306  REAL, POINTER, DIMENSION(:,:) :: XGNDLITTER ! ground litter fraction (-)
307  REAL, POINTER, DIMENSION(:,:) :: XRGLGV ! understory veg maximum solar radiation
308 ! ! usable in photosynthesis (W/m2)
309  REAL, POINTER, DIMENSION(:,:) :: XGAMMAGV ! understory veg coefficient for the calculation
310 ! ! of the surface stomatal resistance
311  REAL, POINTER, DIMENSION(:,:) :: XRSMINGV ! understory veg minimum stomatal resistance (s/m)
312  REAL, POINTER, DIMENSION(:,:,:) :: XROOTFRACGV ! understory veg root fraction profile
313  REAL, POINTER, DIMENSION(:,:) :: XWRMAX_CFGV ! understory veg coefficient for maximum water
314 ! ! interception
315  REAL, POINTER, DIMENSION(:,:) :: XLAIGV ! understory veg Leaf Area Index (m2/m2)
316  REAL, POINTER, DIMENSION(:,:) :: XZ0LITTER ! ground litter roughness length (m)
317 !
318  REAL, POINTER, DIMENSION(:,:) :: XH_VEG ! height of vegetation (m)
319 !
320 !-------------------------------------------------------------------------------
321 !
322 ! - vegetation: Ags parameters ('AGS', 'LAI', 'AST', 'LST', 'NIT', 'NCB' options)
323 !
324  REAL, POINTER, DIMENSION(:) :: XABC ! abscissa needed for integration
325 ! ! of net assimilation and stomatal
326 ! ! conductance over canopy depth (-)
327  REAL, POINTER, DIMENSION(:) :: XPOI ! Gaussian weights for integration
328 ! ! of net assimilation and stomatal
329 ! ! conductance over canopy depth (-)
330  REAL, POINTER, DIMENSION(:,:) :: XBSLAI ! ratio d(biomass)/d(lai) (kg/m2)
331  REAL, POINTER, DIMENSION(:,:) :: XLAIMIN ! minimum LAI (Leaf Area Index) (m2/m2)
332  REAL, POINTER, DIMENSION(:,:) :: XSEFOLD ! e-folding time for senescence (s)
333  REAL, POINTER, DIMENSION(:,:) :: XTAU_WOOD ! residence time in woody biomass (s)
334  REAL, POINTER, DIMENSION(:,:) :: XH_TREE ! height of trees (m)
335  REAL, POINTER, DIMENSION(:,:) :: XANF ! total assimilation over canopy (
336  REAL, POINTER, DIMENSION(:,:) :: XANMAX ! maximum photosynthesis rate (
337  REAL, POINTER, DIMENSION(:,:) :: XFZERO ! ideal value of F, no photo-
338 ! ! respiration or saturation deficit (
339  REAL, POINTER, DIMENSION(:,:) :: XEPSO ! maximum initial quantum use
340 ! ! efficiency (mg J-1 PAR)
341  REAL, POINTER, DIMENSION(:,:) :: XGAMM ! CO2 conpensation concentration (ppm)
342  REAL, POINTER, DIMENSION(:,:) :: XQDGAMM ! Log of Q10 function for CO2 conpensation
343 ! ! concentration (-)
344  REAL, POINTER, DIMENSION(:,:) :: XGMES ! mesophyll conductance (m s-1)
345  REAL, POINTER, DIMENSION(:,:) :: XRE25 ! Ecosystem respiration parameter (kg/kg.m.s-1)
346  REAL, POINTER, DIMENSION(:,:) :: XQDGMES ! Log of Q10 function for mesophyll conductance (-)
347  REAL, POINTER, DIMENSION(:,:) :: XT1GMES ! reference temperature for computing
348 ! ! compensation concentration function for
349 ! ! mesophyll conductance: minimum
350 ! ! temperature (K)
351  REAL, POINTER, DIMENSION(:,:) :: XT2GMES ! reference temperature for computing
352 ! ! compensation concentration function for
353 ! ! mesophyll conductance: maximum
354 ! ! temperature (K)
355  REAL, POINTER, DIMENSION(:,:) :: XAMAX ! leaf photosynthetic capacity (mg m-2 s-1)
356  REAL, POINTER, DIMENSION(:,:) :: XQDAMAX ! Log of Q10 function for leaf photosynthetic
357 ! ! capacity (-)
358  REAL, POINTER, DIMENSION(:,:) :: XT1AMAX ! reference temperature for computing
359 ! ! compensation concentration function for
360 ! ! leaf photosynthetic capacity: minimum
361 ! ! temperature (K)
362  REAL, POINTER, DIMENSION(:,:) :: XT2AMAX ! reference temperature for computing
363 ! ! compensation concentration function for
364 ! ! leaf photosynthetic capacity: maximum
365 ! ! temperature (K)
366 !
367 !-------------------------------------------------------------------------------
368 !
369 ! - vegetation: Ags Stress parameters ('AST', 'LST', 'NIT', 'NCB' options)
370 !
371  LOGICAL, POINTER, DIMENSION(:,:) :: LSTRESS ! vegetation response type to water
372 ! ! stress (true:defensive false:offensive) (-)
373  REAL, POINTER, DIMENSION(:,:) :: XF2I ! critical normilized soil water
374 ! ! content for stress parameterisation
375  REAL, POINTER, DIMENSION(:,:) :: XGC ! cuticular conductance (m s-1)
376  REAL, POINTER, DIMENSION(:,:) :: XAH ! coefficients for herbaceous water stress
377 ! ! response (offensive or defensive) (log(mm/s))
378  REAL, POINTER, DIMENSION(:,:) :: XBH ! coefficients for herbaceous water stress
379 ! ! response (offensive or defensive) (-)
380  REAL, POINTER, DIMENSION(:,:) :: XDMAX ! maximum air saturation deficit
381 ! ! tolerate by vegetation (kg/kg)
382 !
383 !-------------------------------------------------------------------------------
384 !
385 ! - vegetation: Ags Nitrogen-model parameters ('NIT', 'NCB' option)
386 !
387  REAL, POINTER, DIMENSION(:,:) :: XCE_NITRO ! leaf aera ratio sensitivity to
388 ! ! nitrogen concentration (m2/kg)
389  REAL, POINTER, DIMENSION(:,:) :: XCF_NITRO ! lethal minimum value of leaf area
390 ! ! ratio (m2/kg)
391  REAL, POINTER, DIMENSION(:,:) :: XCNA_NITRO ! nitrogen concentration of active
392 ! ! biomass (kg/kg)
393  REAL, POINTER, DIMENSION(:,:) :: XBSLAI_NITRO ! biomass/LAI ratio from nitrogen
394 ! ! decline theory (kg/m2)
395 !
396 !-------------------------------------------------------------------------------
397 !
398 ! - soil: primary parameters
399 !
400  REAL, POINTER, DIMENSION(:,:) :: XSAND ! sand fraction (-)
401  REAL, POINTER, DIMENSION(:,:) :: XCLAY ! clay fraction (-)
402  REAL, POINTER, DIMENSION(:,:) :: XSOC ! soil organic carbon content (kg/m2)
403  REAL, POINTER, DIMENSION(:) :: XPERM ! permafrost distribution (-)
404  REAL, POINTER, DIMENSION(:) :: XGW ! groundwater distribution (-)
405 
406  REAL, POINTER, DIMENSION(:) :: XWDRAIN ! continuous drainage parameter (-)
407  REAL, POINTER, DIMENSION(:) :: XTAUICE ! soil freezing characteristic timescale (s)
408  REAL, POINTER, DIMENSION(:) :: XGAMMAT ! 'Force-Restore' timescale when using a
409 ! ! prescribed lower boundary temperature (1/days)
410  REAL, POINTER, DIMENSION(:,:,:) :: XDG ! soil layer depth (m)
411 ! ! NOTE: in Force-Restore mode, the
412 ! ! uppermost layer depth is superficial
413 ! ! and is only explicitly used for soil
414 ! ! water phase changes (m)
415  REAL, POINTER, DIMENSION(:,:,:) :: XDG_OLD ! For land use
416 !
417  REAL, POINTER, DIMENSION(:,:,:) :: XDZG ! soil layers thicknesses (DIF option)
418  REAL, POINTER, DIMENSION(:,:,:) :: XDZDIF ! distance between consecuative layer mid-points (DIF option)
419 !
420  INTEGER, POINTER, DIMENSION(:,:) :: NWG_LAYER ! Number of soil moisture layers for DIF
421  REAL, POINTER, DIMENSION(:,:) :: XDROOT ! effective root depth for DIF (m)
422  REAL, POINTER, DIMENSION(:,:) :: XDG2 ! root depth for DIF as 3-L (m)
423 !
424  REAL, POINTER, DIMENSION(:) :: XPH ! soil pH
425  REAL, POINTER, DIMENSION(:) :: XFERT ! soil fertilisation rate (kgN/ha/h)
426 !
427 !-------------------------------------------------------------------------------
428 !
429 ! - soil: Secondary parameters: hydrology
430 !
431  REAL, POINTER, DIMENSION(:,:) :: XC1SAT ! 'Force-Restore' C1 coefficient at
432 ! ! saturation (-)
433  REAL, POINTER, DIMENSION(:,:) :: XC2REF ! 'Force-Restore' reference value of C2 (-)
434  REAL, POINTER, DIMENSION(:,:,:) :: XC3 ! 'Force-Restore' C3 drainage coefficient (m)
435  REAL, POINTER, DIMENSION(:) :: XC4B ! 'Force-Restore' sub-surface vertical
436 ! ! diffusion coefficient (slope parameter) (-)
437  REAL, POINTER, DIMENSION(:,:) :: XC4REF ! 'Force-Restore' sub-surface vertical
438 ! ! diffusion coefficient (-)
439  REAL, POINTER, DIMENSION(:) :: XACOEF ! 'Force-Restore' surface vertical
440 ! ! diffusion coefficient (-)
441  REAL, POINTER, DIMENSION(:) :: XPCOEF ! 'Force-Restore' surface vertical
442 ! ! diffusion coefficient (-)
443  REAL, POINTER, DIMENSION(:,:) :: XWFC ! field capacity volumetric water content
444 ! ! profile (m3/m3)
445  REAL, POINTER, DIMENSION(:,:) :: XWWILT ! wilting point volumetric water content
446 ! ! profile (m3/m3)
447  REAL, POINTER, DIMENSION(:,:) :: XWSAT ! porosity profile (m3/m3)
448  REAL, POINTER, DIMENSION(:,:) :: XBCOEF ! soil water CH78 b-parameter (-)
449  REAL, POINTER, DIMENSION(:,:,:) :: XCONDSAT ! hydraulic conductivity at saturation (m/s)
450  REAL, POINTER, DIMENSION(:,:) :: XMPOTSAT ! matric potential at saturation (m)
451 !
452 REAL, POINTER, DIMENSION(:) :: XF_PARAM
453 REAL, POINTER, DIMENSION(:) :: XC_DEPTH_RATIO
454 !-------------------------------------------------------------------------------
455 !
456 ! - soil: Secondary parameters: thermal
457 !
458  REAL, POINTER, DIMENSION(:) :: XCGSAT ! soil thermal inertia coefficient at
459 ! ! saturation (K m2/J)
460  REAL, POINTER, DIMENSION(:,:) :: XHCAPSOIL ! soil heat capacity (J/K/m3)
461  REAL, POINTER, DIMENSION(:,:) :: XCONDDRY ! soil dry thermal conductivity (W/m/K)
462  REAL, POINTER, DIMENSION(:,:) :: XCONDSLD ! soil solids thermal conductivity (W/m/K)
463  REAL, POINTER, DIMENSION(:) :: XTDEEP ! prescribed deep soil temperature
464 ! ! (optional) (K)
465 !-------------------------------------------------------------------------------
466 !
467 ! Prognostic variables:
468 !
469 ! - Snow Cover:
470 !
471  TYPE(surf_snow) :: TSNOW ! snow state:
472 ! ! scheme type/option (-)
473 ! ! number of layers (-)
474 ! ! snow (& liq. water) content (kg/m2)
475 ! ! heat content (J/m2)
476 ! ! temperature (K)
477 ! ! density (kg m-3)
478 !
479 !-------------------------------------------------------------------------------
480 !
481 ! - Soil and vegetation heat and water:
482 !
483  REAL, POINTER, DIMENSION(:,:) :: XWR ! liquid water retained on the
484 ! ! foliage of the vegetation
485 ! ! canopy (kg/m2)
486  REAL, POINTER, DIMENSION(:,:,:) :: XTG ! surface and sub-surface soil
487 ! ! temperature profile (K)
488  REAL, POINTER, DIMENSION(:,:,:) :: XWG ! soil volumetric water content profile (m3/m3)
489  REAL, POINTER, DIMENSION(:,:,:) :: XWGI ! soil liquid water equivalent volumetric
490 ! ! ice content profile (m3/m3)
491  REAL, POINTER, DIMENSION(:,:) :: XRESA ! aerodynamic resistance (s/m)
492 
493  REAL, POINTER, DIMENSION(:,:) :: XPCPS
494  REAL, POINTER, DIMENSION(:,:) :: XPLVTT
495  REAL, POINTER, DIMENSION(:,:) :: XPLSTT
496 !
497 ! - For multi-energy balance:
498 !
499  REAL, POINTER, DIMENSION(:,:) :: XWRL ! liquid water retained on litter (kg/m2)
500  REAL, POINTER, DIMENSION(:,:) :: XWRLI ! ice retained on litter (kg/m2)
501  REAL, POINTER, DIMENSION(:,:) :: XWRVN ! snow retained on the foliage
502 ! ! of the canopy vegetation (kg/m2)
503  REAL, POINTER, DIMENSION(:,:) :: XTV ! canopy vegetation temperature (K)
504  REAL, POINTER, DIMENSION(:,:) :: XTL ! litter temperature (K)
505  REAL, POINTER, DIMENSION(:,:) :: XTC ! canopy air temperature (K)
506  REAL, POINTER, DIMENSION(:,:) :: XQC ! canopy air specific humidity (kg/kg)
507 !
508 !-------------------------------------------------------------------------------
509 !
510 ! - Vegetation: Ags Prognostic (YPHOTO = ('LAI', 'LST', or 'NIT') or prescribed (YPHOTO='NON', 'AGS' or 'LST')
511 !
512  REAL, POINTER, DIMENSION(:,:) :: XLAI ! Leaf Area Index (m2/m2)
513 !
514 !-------------------------------------------------------------------------------
515 !
516 ! - Vegetation: Ags Prognostic (YPHOTO = 'AGS', 'LAI', 'AST', 'LST', 'NIT', 'NCB')
517 !
518  REAL, POINTER, DIMENSION(:,:) :: XAN ! net CO2 assimilation (mg/m2/s)
519  REAL, POINTER, DIMENSION(:,:) :: XANDAY ! daily net CO2 assimilation (mg/m2)
520  REAL, POINTER, DIMENSION(:,:) :: XANFM ! maximum leaf assimilation (mg/m2/s)
521  REAL, POINTER, DIMENSION(:,:) :: XLE ! evapotranspiration (W/m2)
522  REAL, POINTER, DIMENSION(:,:) :: XFAPARC ! Fapar of vegetation (cumul)
523  REAL, POINTER, DIMENSION(:,:) :: XFAPIRC ! Fapir of vegetation (cumul)
524  REAL, POINTER, DIMENSION(:,:) :: XLAI_EFFC ! Effective LAI (cumul)
525  REAL, POINTER, DIMENSION(:,:) :: XMUS ! cos zenithal angle (cumul)
526 !
527 !-------------------------------------------------------------------------------
528 !
529 ! - Vegetation: Ags Prognostic (YPHOTO = 'NIT', 'NCB')
530 !
531  REAL, POINTER, DIMENSION(:,:,:) :: XRESP_BIOMASS ! daily cumulated respiration of
532 ! ! biomass (kg/m2/s)
533  REAL, POINTER, DIMENSION(:,:,:) :: XBIOMASS ! biomass of previous day (kg/m2)
534  REAL, POINTER, DIMENSION(:,:,:) :: XINCREASE ! biomass increase (kg/m2/day)
535 !
536 !
537 !-------------------------------------------------------------------------------
538 !
539 ! - Soil carbon (ISBA-CC, YRESPSL = 'CNT')
540 !
541  REAL, POINTER, DIMENSION(:,:,:,:) :: XLITTER ! litter pools (gC/m2)
542  REAL, POINTER, DIMENSION(:,:,:) :: XSOILCARB ! soil carbon pools (gC/m2)
543  REAL, POINTER, DIMENSION(:,:,:) :: XLIGNIN_STRUC ! ratio Lignin/Carbon in structural
544 ! litter (gC/m2)
545 !
546  REAL, POINTER, DIMENSION(:,:,:) :: XTURNOVER ! turnover rates from biomass to litter (gC/m2/s)
547 !
548 !-------------------------------------------------------------------------------
549 !
550  TYPE (date_time) :: TTIME ! current date and time
551 !
552  REAL :: XTSTEP ! ISBA time step
553 !
554  REAL :: XOUT_TSTEP ! ISBA output writing time step
555 !-------------------------------------------------------------------------------
556 !
557 ! - Irrigation, seeding and reaping
558 !
559  TYPE (date_time), POINTER, DIMENSION(:,:) :: TSEED ! date of seeding
560  TYPE (date_time), POINTER, DIMENSION(:,:) :: TREAP ! date of reaping
561  REAL, POINTER, DIMENSION(:,:) :: XWATSUP ! water supply during irrigation process (mm)
562  REAL, POINTER, DIMENSION(:,:) :: XIRRIG ! flag for irrigation (irrigation if >0.)
563 !-------------------------------------------------------------------------------
564 !
565 ! - Adjustable physical parameters
566 !
567  REAL :: XCGMAX ! maximum soil heat capacity
568 !
569  REAL :: XCDRAG ! drag coefficient in canopy
570 !-------------------------------------------------------------------------------
571 !
572 ! - Sub-grid hydrology and vertical hydrology
573 !
574  CHARACTER(LEN=4) :: CRUNOFF! surface runoff formulation
575 ! ! 'WSAT'
576 ! ! 'DT92'
577 ! ! 'SGH ' Topmodel
578 !
579  CHARACTER(LEN=3) :: CKSAT ! ksat
580 ! ! 'DEF' = default value
581 ! ! 'SGH' = profil exponentiel
582 !
583  LOGICAL :: LSOC ! soil organic carbon effect
584 ! ! False = default value
585 ! ! True = soil SOC profil
586 !
587  CHARACTER(LEN=3) :: CRAIN ! Rainfall spatial distribution
588  ! 'DEF' = No rainfall spatial distribution
589  ! 'SGH' = Rainfall exponential spatial distribution
590  !
591 !
592  CHARACTER(LEN=3) :: CHORT ! Horton runoff
593  ! 'DEF' = no Horton runoff
594  ! 'SGH' = Horton runoff
595 !
596  INTEGER :: NLAYER_HORT
597  INTEGER :: NLAYER_DUN
598 !
599  REAL, POINTER, DIMENSION(:) :: XRUNOFFB ! sub-grid dt92 surface runoff slope parameter (-)
600  REAL, POINTER, DIMENSION(:,:) :: XRUNOFFD ! depth over which sub-grid runoff is
601 ! ! computed: in Force-Restore this is the
602 ! ! total soil column ('2-L'), or root zone
603 ! ! ('3-L'). For the 'DIF' option, it can
604 ! ! be any depth within soil column (m)
605 !
606  REAL, POINTER, DIMENSION(:,:,:) :: XSOILWGHT ! ISBA-DIF: weights for vertical
607 ! ! integration of soil water and properties
608 !
609  REAL, POINTER, DIMENSION(:,:) :: XTAB_FSAT !Satured fraction array
610  REAL, POINTER, DIMENSION(:,:) :: XTAB_WTOP !Active TOPMODEL-layer array
611  REAL, POINTER, DIMENSION(:,:) :: XTAB_QTOP !Subsurface flow TOPMODEL array
612 !
613  REAL, POINTER, DIMENSION(:,:) :: XD_ICE !depth of the soil column for the calculation
614 ! of the frozen soil fraction (m)
615  REAL, POINTER, DIMENSION(:,:) :: XKSAT_ICE !hydraulic conductivity at saturation
616 ! over frozen area (m s-1)
617 !
618  REAL, POINTER, DIMENSION(:) :: XTI_MIN,XTI_MAX,XTI_MEAN,XTI_STD,XTI_SKEW
619 ! Topmodel statistics
620 !
621  REAL, POINTER, DIMENSION(:) :: XMUF ! fraction of the grid cell reached by the rainfall
622  REAL, POINTER, DIMENSION(:) :: XFSAT ! Topmodel or dt92 saturated fraction
623  REAL, POINTER, DIMENSION(:,:,:):: XTOPQS! Topmodel subsurface flow by layer (m/s)
624 !
625  REAL, POINTER, DIMENSION(:,:) :: XFRACSOC ! Fraction of organic carbon in each soil layer
626 !
627  REAL, POINTER, DIMENSION(:,:) :: XKANISO ! Anisotropy coeficient for hydraulic conductivity
628 ! ! for lateral drainage ('DIF' option)
629  REAL, POINTER, DIMENSION(:,:) :: XWD0 ! water content equivalent to TOPMODEL maximum deficit
630 !
631 !-------------------------------------------------------------------------------
632 !
633 ! - Snow and flood fractions and total albedo at time t:
634 !
635  REAL, POINTER, DIMENSION(:,:) :: XPSNG ! Snow fraction over ground
636  REAL, POINTER, DIMENSION(:,:) :: XPSNV ! Snow fraction over vegetation
637  REAL, POINTER, DIMENSION(:,:) :: XPSNV_A ! Snow fraction over vegetation
638  REAL, POINTER, DIMENSION(:,:) :: XPSN ! Total Snow fraction
639 !
640  REAL, POINTER, DIMENSION(:,:,:) :: XDIR_ALB_WITH_SNOW ! total direct albedo by bands
641  REAL, POINTER, DIMENSION(:,:,:) :: XSCA_ALB_WITH_SNOW ! total diffuse albedo by bands
642 !
643  REAL, POINTER, DIMENSION(:,:) :: XFFG ! Flood fraction over ground
644  REAL, POINTER, DIMENSION(:,:) :: XFFV ! Flood fraction over vegetation
645  REAL, POINTER, DIMENSION(:,:) :: XFFROZEN ! Fraction of frozen floodplains
646  REAL, POINTER, DIMENSION(:,:) :: XFF ! Total Flood fraction
647  REAL, POINTER, DIMENSION(:,:) :: XALBF ! Flood albedo
648  REAL, POINTER, DIMENSION(:,:) :: XEMISF ! Flood emissivity
649 !
650  REAL, POINTER, DIMENSION(:,:) :: XICE_STO ! Glacier ice storage reservoir
651 !
652 !-------------------------------------------------------------------------------
653 !
654 ! - Flood scheme
655 !
656  LOGICAL :: LFLOOD ! Activation of the flooding scheme
657  REAL, POINTER, DIMENSION(:) :: XFFLOOD ! Grid-cell flood fraction
658  REAL, POINTER, DIMENSION(:) :: XPIFLOOD ! flood potential infiltration (kg/m2/s)
659 !
660 !-------------------------------------------------------------------------------
661 !
662 ! - Water table depth coupling
663 !
664  LOGICAL :: LWTD ! Activation of Water table depth coupling
665  REAL, POINTER, DIMENSION(:) :: XFWTD ! grid-cell fraction of water table rise
666  REAL, POINTER, DIMENSION(:) :: XWTD ! water table depth (negative below soil surface) (m)
667 !
668 !-------------------------------------------------------------------------------
669 !
670 ! - Coupling with river routing model
671 !
672  LOGICAL :: LCPL_RRM ! Activation of the coupling
673  REAL, POINTER, DIMENSION(:) :: XCPL_DRAIN ! Surface runoff
674  REAL, POINTER, DIMENSION(:) :: XCPL_RUNOFF ! Deep drainage or gourdwater recharge
675  REAL, POINTER, DIMENSION(:) :: XCPL_ICEFLUX ! Calving flux
676  REAL, POINTER, DIMENSION(:) :: XCPL_RECHARGE! Groundwater recharge
677  REAL, POINTER, DIMENSION(:) :: XCPL_EFLOOD ! floodplains evaporation
678  REAL, POINTER, DIMENSION(:) :: XCPL_PFLOOD ! floodplains precipitation interception
679  REAL, POINTER, DIMENSION(:) :: XCPL_IFLOOD ! floodplains infiltration
680 !
681 !-------------------------------------------------------------------------------
682 !
683 ! - Random perturbations
684 !
685  REAL, POINTER, DIMENSION(:) :: XPERTVEG
686  REAL, POINTER, DIMENSION(:) :: XPERTLAI
687  REAL, POINTER, DIMENSION(:) :: XPERTCV
688  REAL, POINTER, DIMENSION(:) :: XPERTALB
689  REAL, POINTER, DIMENSION(:) :: XPERTZ0
690 !
691 !-------------------------------------------------------------------------------
692 !
693 ! - Assimilation: ENKF
694 !
695  REAL, POINTER, DIMENSION(:,:,:) :: XRED_NOISE
696  REAL, POINTER, DIMENSION(:,:) :: XINCR
697 !
698 !-------------------------------------------------------------------------------
699 !
700 END TYPE isba_t
701 
702  CONTAINS
703 
704 SUBROUTINE isba_init(YISBA)
705 TYPE(isba_t), INTENT(INOUT) :: yisba
706 REAL(KIND=JPRB) :: zhook_handle
707 IF (lhook) CALL dr_hook("MODD_ISBA_N:ISBA_INIT",0,zhook_handle)
708  nullify(yisba%NSIZE_NATURE_P)
709  nullify(yisba%NR_NATURE_P)
710  nullify(yisba%XPATCH)
711  nullify(yisba%XPATCH_OLD)
712  nullify(yisba%XVEGTYPE)
713  nullify(yisba%XVEGTYPE_PATCH)
714  nullify(yisba%XSODELX)
715  nullify(yisba%XSOILGRID)
716  nullify(yisba%XZS)
717  nullify(yisba%XCOVER)
718  nullify(yisba%LCOVER)
719  nullify(yisba%LMEB_PATCH)
720  nullify(yisba%XALBNIR_DRY)
721  nullify(yisba%XALBVIS_DRY)
722  nullify(yisba%XALBUV_DRY)
723  nullify(yisba%XALBNIR_WET)
724  nullify(yisba%XALBVIS_WET)
725  nullify(yisba%XALBUV_WET)
726  nullify(yisba%XALBNIR_SOIL)
727  nullify(yisba%XALBVIS_SOIL)
728  nullify(yisba%XALBUV_SOIL)
729  nullify(yisba%XEMIS_NAT)
730  nullify(yisba%XTSRAD_NAT)
731  nullify(yisba%XAOSIP)
732  nullify(yisba%XAOSIM)
733  nullify(yisba%XAOSJP)
734  nullify(yisba%XAOSJM)
735  nullify(yisba%XHO2IP)
736  nullify(yisba%XHO2IM)
737  nullify(yisba%XHO2JP)
738  nullify(yisba%XHO2JM)
739  nullify(yisba%XZ0EFFIP)
740  nullify(yisba%XZ0EFFIM)
741  nullify(yisba%XZ0EFFJP)
742  nullify(yisba%XZ0EFFJM)
743  nullify(yisba%XZ0EFFJPDIR)
744  nullify(yisba%XZ0REL)
745  nullify(yisba%XSSO_SLOPE)
746  nullify(yisba%XSSO_STDEV)
747  nullify(yisba%XZ0_O_Z0H)
748  nullify(yisba%XALBNIR)
749  nullify(yisba%XALBVIS)
750  nullify(yisba%XALBUV)
751  nullify(yisba%XEMIS)
752  nullify(yisba%XZ0)
753  nullify(yisba%XALBNIR_VEG)
754  nullify(yisba%XALBVIS_VEG)
755  nullify(yisba%XALBUV_VEG)
756  nullify(yisba%XVEG)
757  nullify(yisba%XWRMAX_CF)
758  nullify(yisba%XRSMIN)
759  nullify(yisba%XGAMMA)
760  nullify(yisba%XCV)
761  nullify(yisba%XRGL)
762  nullify(yisba%XROOTFRAC)
763  nullify(yisba%XABC)
764  nullify(yisba%XPOI)
765  nullify(yisba%XBSLAI)
766  nullify(yisba%XLAIMIN)
767  nullify(yisba%XSEFOLD)
768  nullify(yisba%XTAU_WOOD)
769  nullify(yisba%XH_TREE)
770  nullify(yisba%XANF)
771  nullify(yisba%XANMAX)
772  nullify(yisba%XFZERO)
773  nullify(yisba%XEPSO)
774  nullify(yisba%XGAMM)
775  nullify(yisba%XQDGAMM)
776  nullify(yisba%XGMES)
777  nullify(yisba%XRE25)
778  nullify(yisba%XQDGMES)
779  nullify(yisba%XT1GMES)
780  nullify(yisba%XT2GMES)
781  nullify(yisba%XAMAX)
782  nullify(yisba%XQDAMAX)
783  nullify(yisba%XT1AMAX)
784  nullify(yisba%XT2AMAX)
785  nullify(yisba%LSTRESS)
786  nullify(yisba%XF2I)
787  nullify(yisba%XGC)
788  nullify(yisba%XAH)
789  nullify(yisba%XBH)
790  nullify(yisba%XDMAX)
791  nullify(yisba%XCE_NITRO)
792  nullify(yisba%XCF_NITRO)
793  nullify(yisba%XCNA_NITRO)
794  nullify(yisba%XBSLAI_NITRO)
795  nullify(yisba%XSAND)
796  nullify(yisba%XCLAY)
797  nullify(yisba%XRUNOFFB)
798  nullify(yisba%XWDRAIN)
799  nullify(yisba%XTAUICE)
800  nullify(yisba%XGAMMAT)
801  nullify(yisba%XDG_OLD)
802  nullify(yisba%XDG)
803  nullify(yisba%XDZG)
804  nullify(yisba%XDZDIF)
805  nullify(yisba%NWG_LAYER)
806  nullify(yisba%XDROOT)
807  nullify(yisba%XDG2)
808  nullify(yisba%XPH)
809  nullify(yisba%XFERT)
810  nullify(yisba%XRUNOFFD)
811  nullify(yisba%XSOILWGHT)
812  nullify(yisba%XC1SAT)
813  nullify(yisba%XC2REF)
814  nullify(yisba%XC3)
815  nullify(yisba%XC4B)
816  nullify(yisba%XC4REF)
817  nullify(yisba%XACOEF)
818  nullify(yisba%XPCOEF)
819  nullify(yisba%XWFC)
820  nullify(yisba%XWD0)
821  nullify(yisba%XWWILT)
822  nullify(yisba%XWSAT)
823  nullify(yisba%XBCOEF)
824  nullify(yisba%XCONDSAT)
825  nullify(yisba%XMPOTSAT)
826  nullify(yisba%XF_PARAM)
827  nullify(yisba%XC_DEPTH_RATIO)
828  nullify(yisba%XCGSAT)
829  nullify(yisba%XHCAPSOIL)
830  nullify(yisba%XCONDDRY)
831  nullify(yisba%XCONDSLD)
832  nullify(yisba%XTDEEP)
833  nullify(yisba%XWR)
834  nullify(yisba%XTG)
835  nullify(yisba%XWG)
836  nullify(yisba%XWGI)
837  nullify(yisba%XRESA)
838  nullify(yisba%XPCPS)
839  nullify(yisba%XPLVTT)
840  nullify(yisba%XPLSTT)
841  nullify(yisba%XLAI)
842  nullify(yisba%XAN)
843  nullify(yisba%XANDAY)
844  nullify(yisba%XANFM)
845  nullify(yisba%XLE)
846  nullify(yisba%XFAPARC)
847  nullify(yisba%XFAPIRC)
848  nullify(yisba%XLAI_EFFC)
849  nullify(yisba%XMUS)
850  nullify(yisba%XRESP_BIOMASS)
851  nullify(yisba%XBIOMASS)
852  nullify(yisba%XINCREASE)
853  nullify(yisba%XLITTER)
854  nullify(yisba%XSOILCARB)
855  nullify(yisba%XLIGNIN_STRUC)
856  nullify(yisba%XTURNOVER)
857  nullify(yisba%XWATSUP)
858  nullify(yisba%XIRRIG)
859  nullify(yisba%XTAB_FSAT)
860  nullify(yisba%XTAB_WTOP)
861  nullify(yisba%XTAB_QTOP)
862  nullify(yisba%XD_ICE)
863  nullify(yisba%XKSAT_ICE)
864  nullify(yisba%XFRACSOC)
865  nullify(yisba%XKANISO)
866  nullify(yisba%XTI_MIN)
867  nullify(yisba%XTI_MAX)
868  nullify(yisba%XTI_MEAN)
869  nullify(yisba%XTI_STD)
870  nullify(yisba%XTI_SKEW)
871  nullify(yisba%XMUF)
872  nullify(yisba%XFSAT)
873  nullify(yisba%XTOPQS)
874  nullify(yisba%XPSNG)
875  nullify(yisba%XPSNV)
876  nullify(yisba%XPSNV_A)
877  nullify(yisba%XPSN)
878  nullify(yisba%XDIR_ALB_WITH_SNOW)
879  nullify(yisba%XSCA_ALB_WITH_SNOW)
880  nullify(yisba%XFFG)
881  nullify(yisba%XFFV)
882  nullify(yisba%XFFROZEN)
883  nullify(yisba%XFF)
884  nullify(yisba%XALBF)
885  nullify(yisba%XEMISF)
886  nullify(yisba%XICE_STO)
887  nullify(yisba%XFFLOOD)
888  nullify(yisba%XPIFLOOD)
889  nullify(yisba%XFWTD)
890  nullify(yisba%XWTD)
891  nullify(yisba%XCPL_DRAIN)
892  nullify(yisba%XCPL_RUNOFF)
893  nullify(yisba%XCPL_ICEFLUX)
894  nullify(yisba%XCPL_RECHARGE)
895  nullify(yisba%XCPL_EFLOOD)
896  nullify(yisba%XCPL_PFLOOD)
897  nullify(yisba%XCPL_IFLOOD)
898  nullify(yisba%XPERTVEG)
899  nullify(yisba%XPERTLAI)
900  nullify(yisba%XPERTCV)
901  nullify(yisba%XPERTALB)
902  nullify(yisba%XPERTZ0)
903  nullify(yisba%XRED_NOISE)
904  nullify(yisba%XINCR)
905  !
906  nullify(yisba%XGNDLITTER)
907  nullify(yisba%XRGLGV)
908  nullify(yisba%XGAMMAGV)
909  nullify(yisba%XRSMINGV)
910  nullify(yisba%XROOTFRACGV)
911  nullify(yisba%XWRMAX_CFGV)
912  nullify(yisba%XLAIGV)
913  nullify(yisba%XZ0LITTER)
914  nullify(yisba%XH_VEG)
915  nullify(yisba%XWRL)
916  nullify(yisba%XWRLI)
917  nullify(yisba%XWRVN)
918  nullify(yisba%XTV)
919  nullify(yisba%XTL)
920  nullify(yisba%XTC)
921  nullify(yisba%XQC)
922  !
923 yisba%CROUGH=' '
924 yisba%CISBA=' '
925 yisba%CPEDOTF=' '
926 yisba%CPHOTO=' '
927 yisba%LTR_ML=.false.
928 yisba%XRM_PATCH=0.0
929 yisba%CALBEDO=' '
930 yisba%CSCOND=' '
931 yisba%CC1DRY=' '
932 yisba%CSOILFRZ=' '
933 yisba%CDIFSFCOND=' '
934 yisba%CSNOWRES=' '
935 yisba%CRESPSL=' '
936 yisba%CCPSURF=' '
937 yisba%LTEMP_ARP=.false.
938 yisba%LGLACIER=.false.
939 yisba%LFORC_MEASURE=.false.
940 yisba%LMEB_LITTER=.false.
941 yisba%LMEB_GNDRES=.false.
942 yisba%LVEGUPD=.false.
943 yisba%LNITRO_DILU=.false.
944 yisba%LCANOPY=.false.
945 yisba%LCANOPY_DRAG=.false.
946 yisba%LPERTSURF=.false.
947 yisba%LSNOWDRIFT=.true.
948 yisba%LSNOWDRIFT_SUBLIM=.false.
949 yisba%LSNOW_ABS_ZENITH=.false.
950 yisba%CSNOWMETAMO='B92'
951 yisba%CSNOWRAD='B92'
952 yisba%LECOCLIMAP=.false.
953 yisba%LCTI=.false.
954 yisba%LSOCP=.false.
955 yisba%LPERM=.false.
956 yisba%LGW=.false.
957 yisba%LSPINUPCARBS=.false.
958 yisba%LSPINUPCARBW=.false.
959 yisba%LAGRI_TO_GRASS=.false.
960 yisba%XSPINMAXS=0.
961 yisba%XSPINMAXW=0.
962 yisba%XCO2_START=0.
963 yisba%XCO2_END=0.
964 yisba%NNBYEARSPINS=0
965 yisba%NNBYEARSPINW=0
966 yisba%NNBYEARSOLD=0
967 yisba%NSPINS=1
968 yisba%NSPINW=1
969 yisba%LNOF=.false.
970 yisba%NPATCH=0
971 yisba%NGROUND_LAYER=0
972 yisba%NTEMPLAYER_ARP=0
973 yisba%NNBIOMASS=0
974 yisba%NNLITTER=0
975 yisba%NNLITTLEVS=0
976 yisba%NNSOILCARB=0
977 yisba%XTSTEP=0.
978 yisba%XOUT_TSTEP=0.
979 yisba%XCGMAX=0.
980 yisba%XCDRAG=0.
981 yisba%CRUNOFF=' '
982 yisba%CKSAT=' '
983 yisba%LSOC=.false.
984 yisba%CRAIN=' '
985 yisba%CHORT=' '
986 yisba%NLAYER_HORT=0
987 yisba%NLAYER_DUN=0
988 yisba%LFLOOD=.false.
989 yisba%LWTD=.false.
990 yisba%LCPL_RRM=.false.
991 IF (lhook) CALL dr_hook("MODD_ISBA_N:ISBA_INIT",1,zhook_handle)
992 END SUBROUTINE isba_init
993 
994 END MODULE modd_isba_n
subroutine isba_init(YISBA)
Definition: modd_isban.F90:704