SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
modd_pack_isba.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_PACK_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 10/2014 : MEB and additional snow albedos
36 !!
37 !-------------------------------------------------------------------------------
38 !
39 !* 0. DECLARATIONS
40 ! ------------
41 !
43 !
44 USE yomhook ,ONLY : lhook, dr_hook
45 USE parkind1 ,ONLY : jprb
46 !
47 IMPLICIT NONE
48 !-------------------------------------------------------------------------------
49 !
51 
52  INTEGER :: NSIZE_LSIMPLE
53  INTEGER :: NSIZE_L0
54  INTEGER :: NSIZE_NSIMPLE
55  INTEGER :: NSIZE_N0
56  INTEGER :: NSIZE_TSIMPLE
57  INTEGER :: NSIZE_T0
58  INTEGER :: NSIZE_SIMPLE
59  INTEGER :: NSIZE_GROUND
60  INTEGER :: NSIZE_VEGTYPE
61  INTEGER :: NSIZE_TG
62  INTEGER :: NSIZE_SNOW
63  INTEGER :: NSIZE_ALB
64  INTEGER :: NSIZE_2
65  INTEGER :: NSIZE_BIOMASS
66  INTEGER :: NSIZE_SOILCARB
67  INTEGER :: NSIZE_LITTLEVS
68  INTEGER :: NSIZE_LITTER
69  INTEGER :: NSIZE_0
70  INTEGER :: NSIZE_00
71  INTEGER :: NSIZE_000
72  INTEGER :: NSIZE_01
73  LOGICAL, POINTER, DIMENSION(:,:) :: LBLOCK_SIMPLE
74  LOGICAL, POINTER, DIMENSION(:,:) :: LBLOCK_0
75  INTEGER, POINTER, DIMENSION(:,:) :: NBLOCK_SIMPLE
76  INTEGER, POINTER, DIMENSION(:,:) :: NBLOCK_0
77  TYPE(date_time), POINTER, DIMENSION(:,:) :: TBLOCK_SIMPLE
78  TYPE(date_time), POINTER, DIMENSION(:,:) :: TBLOCK_0
79  REAL, POINTER, DIMENSION(:,:) :: XBLOCK_SIMPLE
80  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_GROUND
81  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_VEGTYPE
82  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_TG
83  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_SNOW
84  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_ALB
85  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_2
86  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_BIOMASS
87  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_SOILCARB
88  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_LITTLEVS
89  REAL, POINTER, DIMENSION(:,:,:,:) :: XBLOCK_LITTER
90  REAL, POINTER, DIMENSION(:,:) :: XBLOCK_0
91  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_00
92  REAL, POINTER, DIMENSION(:,:,:,:) :: XBLOCK_000
93  REAL, POINTER, DIMENSION(:,:,:) :: XBLOCK_01
94 !
95 ! Mask and number of grid elements containing patches/tiles:
96 !
97  REAL, POINTER, DIMENSION(:,:) :: XP_VEGTYPE_PATCH ! fraction of each vegetation type for
98 ! ! each vegetation unit/patch (-)
99 !
100 ! General surface parameters:
101 !
102  REAL, POINTER, DIMENSION(:) :: XP_SSO_SLOPE ! orography slope within the grid mesh (-)
103  REAL, POINTER, DIMENSION(:) :: XP_LAT ! latitude (-)
104  REAL, POINTER, DIMENSION(:) :: XP_LON ! latitude (-)
105 !
106 ! Subgrid orography parameters
107 !
108  REAL, DIMENSION(:), POINTER :: XP_AOSIP,XP_AOSIM,XP_AOSJP,XP_AOSJM
109 ! directional A/S quantities in 4 coordinate directions
110 ! (IP: i index up; IM: i index down; JP: j index up; JM: j index down)
111 ! They are used in soil routines to compute effective roughness length
112 !
113  REAL, DIMENSION(:), POINTER :: XP_HO2IP,XP_HO2IM,XP_HO2JP,XP_HO2JM
114 ! directional h/2 quantities in 4 coordinate directions
115 ! (IP: i index up; IM: i index down; JP: j index up; JM: j index down)
116 ! They are used in soil routines to compute effective roughness length
117 !
118  REAL, DIMENSION(:), POINTER :: XP_Z0EFFIP,XP_Z0EFFIM,XP_Z0EFFJP,XP_Z0EFFJM
119 ! directional total roughness lenghts in 4 coordinate directions
120 ! (IP: i index up; IM: i index down; JP: j index up; JM: j index down)
121 !
122  REAL, POINTER, DIMENSION(:) :: XP_Z0REL ! relief roughness length (m)
123 
124 !
125 ! Input Parameters:
126 !
127 ! - bare soil:
128 !
129  REAL, POINTER, DIMENSION(:,:) :: XP_CLAY ! clay fraction profile (-)
130  REAL, POINTER, DIMENSION(:,:) :: XP_SAND ! sand fraction profile (-)
131 
132  REAL, POINTER, DIMENSION(:) :: XP_ALBNIR_DRY ! near-infra-red albedo of dry soil (-)
133  REAL, POINTER, DIMENSION(:) :: XP_ALBVIS_DRY ! visible albedo of dry soil (-)
134  REAL, POINTER, DIMENSION(:) :: XP_ALBUV_DRY ! UV albedo of dry soil (-)
135  REAL, POINTER, DIMENSION(:) :: XP_ALBNIR_WET ! near-infra-red albedo of wet soil (-)
136  REAL, POINTER, DIMENSION(:) :: XP_ALBVIS_WET ! visible albedo of wet soil (-)
137  REAL, POINTER, DIMENSION(:) :: XP_ALBUV_WET ! UV albedo of wet soil (-)
138  REAL, POINTER, DIMENSION(:) :: XP_ALBNIR_SOIL ! near-infra-red albedo of wet soil (-)
139  REAL, POINTER, DIMENSION(:) :: XP_ALBVIS_SOIL ! visible albedo of soil (-)
140  REAL, POINTER, DIMENSION(:) :: XP_ALBUV_SOIL ! UV albedo of soil (-)
141 !
142 ! - vegetation + bare soil:
143 !
144  REAL, POINTER, DIMENSION(:) :: XP_Z0_O_Z0H ! ratio of surface roughness lengths
145 ! ! (momentum to heat) (-)
146  REAL, POINTER, DIMENSION(:) :: XP_ALBNIR ! near-infra-red albedo (-)
147  REAL, POINTER, DIMENSION(:) :: XP_ALBVIS ! visible albedo (-)
148  REAL, POINTER, DIMENSION(:) :: XP_ALBUV ! UV albedo (-)
149  REAL, POINTER, DIMENSION(:) :: XP_EMIS ! snow-free surface emissivity (-)
150  REAL, POINTER, DIMENSION(:) :: XP_Z0 ! snow-free surface roughness length (m)
151 !
152 ! - vegetation :
153 !
154  REAL, POINTER, DIMENSION(:) :: XP_ALBNIR_VEG ! near-infra-red albedo of vegetation (-)
155  REAL, POINTER, DIMENSION(:) :: XP_ALBVIS_VEG ! visible albedo of vegetation (-)
156  REAL, POINTER, DIMENSION(:) :: XP_ALBUV_VEG ! UV albedo of vegetation (-)
157 !
158 !
159 ! - vegetation: default option (Jarvis) and general parameters:
160 !
161  REAL, POINTER, DIMENSION(:) :: XP_VEG ! vegetation cover fraction (-)
162  REAL, POINTER, DIMENSION(:) :: XP_WRMAX_CF ! coefficient for maximum water
163 ! ! interception
164 ! ! storage capacity on the vegetation (-)
165  REAL, POINTER, DIMENSION(:) :: XP_RSMIN ! minimum stomatal resistance (s/m)
166  REAL, POINTER, DIMENSION(:) :: XP_GAMMA ! coefficient for the calculation
167 ! ! of the surface stomatal
168 ! ! resistance
169  REAL, POINTER, DIMENSION(:) :: XP_CV ! vegetation thermal inertia coefficient (K m2/J)
170  REAL, POINTER, DIMENSION(:) :: XP_RGL ! maximum solar radiation
171 ! ! usable in photosynthesis (W/m2)
172  REAL, POINTER, DIMENSION(:,:) :: XP_ROOTFRAC ! root fraction profile ('DIF' option)
173 !
174 ! - vegetation: Ags parameters ('AGS', 'LAI', 'AST', 'LST', 'NIT', 'NCB' options)
175 !
176  REAL, POINTER, DIMENSION(:) :: XP_BSLAI ! ratio d(biomass)/d(lai) (kg/m2)
177  REAL, POINTER, DIMENSION(:) :: XP_LAIMIN ! minimum LAI (Leaf Area Index) (m2/m2)
178  REAL, POINTER, DIMENSION(:) :: XP_SEFOLD ! e-folding time for senescence (s)
179  REAL, POINTER, DIMENSION(:) :: XP_H_TREE ! height of trees (m)
180  REAL, POINTER, DIMENSION(:) :: XP_ANF ! total assimilation over canopy (
181  REAL, POINTER, DIMENSION(:) :: XP_ANMAX ! maximum photosynthesis rate (
182  REAL, POINTER, DIMENSION(:) :: XP_FZERO ! ideal value of F, no photo-
183 ! ! respiration or saturation deficit (
184  REAL, POINTER, DIMENSION(:) :: XP_EPSO ! maximum initial quantum use
185 ! ! efficiency (mg J-1 PAR)
186  REAL, POINTER, DIMENSION(:) :: XP_GAMM ! CO2 conpensation concentration (ppmv)
187  REAL, POINTER, DIMENSION(:) :: XP_QDGAMM ! Log of Q10 function for CO2 conpensation
188 ! ! concentration (-)
189  REAL, POINTER, DIMENSION(:) :: XP_GMES ! mesophyll conductance (m s-1)
190  REAL, POINTER, DIMENSION(:) :: XP_RE25 ! Ecosystem respiration parameter (kg m-2 s-1)
191  REAL, POINTER, DIMENSION(:) :: XP_QDGMES ! Log of Q10 function for mesophyll conductance (-)
192  REAL, POINTER, DIMENSION(:) :: XP_T1GMES ! reference temperature for computing
193 ! ! compensation concentration function for
194 ! ! mesophyll conductance: minimum
195 ! ! temperature (K)
196  REAL, POINTER, DIMENSION(:) :: XP_T2GMES ! reference temperature for computing
197 ! ! compensation concentration function for
198 ! ! mesophyll conductance: maximum
199 ! ! temperature (K)
200  REAL, POINTER, DIMENSION(:) :: XP_AMAX ! leaf photosynthetic capacity (kg m-2 s-1)
201  REAL, POINTER, DIMENSION(:) :: XP_QDAMAX ! Log of Q10 function for leaf photosynthetic
202 ! ! capacity (-)
203  REAL, POINTER, DIMENSION(:) :: XP_T1AMAX ! reference temperature for computing
204 ! ! compensation concentration function for
205 ! ! leaf photosynthetic capacity: minimum
206 ! ! temperature (K)
207  REAL, POINTER, DIMENSION(:) :: XP_T2AMAX ! reference temperature for computing
208 ! ! compensation concentration function for
209 ! ! leaf photosynthetic capacity: maximum
210 ! ! temperature (K)
211 !
212 ! - vegetation: Ags Stress parameters ('AST', 'LST', 'NIT', 'NCB' options)
213 !
214  LOGICAL, POINTER, DIMENSION(:) :: LP_STRESS ! vegetation response type to water
215 ! ! stress (true:defensive false:offensive) (-)
216  REAL, POINTER, DIMENSION(:) :: XP_F2I ! critical normilized soil water
217 ! ! content for stress parameterisation
218  REAL, POINTER, DIMENSION(:) :: XP_GC ! cuticular conductance (m s-1)
219  REAL, POINTER, DIMENSION(:) :: XP_AH ! coefficients for herbaceous water stress
220 ! ! response (offensive or defensive) (log(mm/s))
221  REAL, POINTER, DIMENSION(:) :: XP_BH ! coefficients for herbaceous water stress
222 ! ! response (offensive or defensive) (-)
223  REAL, POINTER, DIMENSION(:) :: XP_TAU_WOOD ! residence time in woody biomass (s)
224  REAL, POINTER, DIMENSION(:) :: XP_DMAX ! maximum air saturation deficit
225 ! ! tolerate by vegetation (kg/kg)
226 !
227 ! - vegetation: Ags Nitrogen-model parameters ('NIT', 'NCB' option)
228 !
229  REAL, POINTER, DIMENSION(:) :: XP_CE_NITRO ! leaf aera ratio sensitivity to
230 ! ! nitrogen concentration (m2/kg)
231  REAL, POINTER, DIMENSION(:) :: XP_CF_NITRO ! lethal minimum value of leaf area
232 ! ! ratio (m2/kg)
233  REAL, POINTER, DIMENSION(:) :: XP_CNA_NITRO ! nitrogen concentration of active
234 ! ! biomass (kg/kg)
235  REAL, POINTER, DIMENSION(:) :: XP_BSLAI_NITRO! biomass/LAI ratio from nitrogen
236 ! ! decline theory (kg/m2)
237 !
238 ! - soil: primary parameters
239 !
240  REAL, POINTER, DIMENSION(:) :: XP_RUNOFFB ! sub-grid surface runoff slope parameter (-)
241  REAL, POINTER, DIMENSION(:) :: XP_WDRAIN ! continuous drainage parameter (-)
242  REAL, POINTER, DIMENSION(:) :: XP_TAUICE ! soil freezing characteristic timescale (s)
243  REAL, POINTER, DIMENSION(:) :: XP_GAMMAT ! 'Force-Restore' timescale when using a
244 ! ! prescribed lower boundary temperature (1/days)
245  REAL, POINTER, DIMENSION(:,:) :: XP_DG ! soil layer depth (m)
246 ! ! NOTE: in Force-Restore mode, the
247 ! ! uppermost layer thickness is superficial
248 ! ! and is only explicitly used for soil
249 ! ! water phase changes (m)
250  REAL, POINTER, DIMENSION(:,:) :: XP_DZG ! soil layer thicknesses (m)
251  REAL, POINTER, DIMENSION(:,:) :: XP_DZDIF ! distance between consecuative layer mid-points(m)
252  INTEGER, POINTER, DIMENSION(:) :: NK_WG_LAYER ! Number of soil moisture layers for DIF
253 
254  REAL, POINTER, DIMENSION(:) :: XP_RUNOFFD ! depth over which sub-grid runoff is
255 ! ! computed: in Force-Restore this is the
256 ! ! total soil column ('2-L'), or root zone
257 ! ! ('3-L'). For the 'DIF' option, it can
258 ! ! be any depth within soil column (m)
259 !
260  REAL, POINTER, DIMENSION(:,:) :: XP_SOILWGHT ! ISBA-DIF: weights for vertical
261 ! ! integration of soil water and properties
262 !
263 ! - soil: Secondary parameters: hydrology
264 !
265  REAL, POINTER, DIMENSION(:) :: XP_C1SAT ! 'Force-Restore' C1 coefficient at
266 ! ! saturation (-)
267  REAL, POINTER, DIMENSION(:) :: XP_C2REF ! 'Force-Restore' reference value of C2 (-)
268  REAL, POINTER, DIMENSION(:,:) :: XP_C3 ! 'Force-Restore' C3 drainage coefficient (m)
269  REAL, POINTER, DIMENSION(:) :: XP_C4B ! 'Force-Restore' sub-surface vertical
270 ! ! diffusion coefficient (slope parameter) (-)
271  REAL, POINTER, DIMENSION(:) :: XP_C4REF ! 'Force-Restore' sub-surface vertical
272 ! ! diffusion coefficient (-)
273  REAL, POINTER, DIMENSION(:) :: XP_ACOEF ! 'Force-Restore' surface vertical
274 ! ! diffusion coefficient (-)
275  REAL, POINTER, DIMENSION(:) :: XP_PCOEF ! 'Force-Restore' surface vertical
276 ! ! diffusion coefficient (-)
277  REAL, POINTER, DIMENSION(:,:) :: XP_WFC ! field capacity volumetric water content
278 ! ! profile (m3/m3)
279  REAL, POINTER, DIMENSION(:,:) :: XP_WWILT ! wilting point volumetric water content
280 ! ! profile (m3/m3)
281  REAL, POINTER, DIMENSION(:,:) :: XP_WSAT ! porosity profile (m3/m3)
282  REAL, POINTER, DIMENSION(:,:) :: XP_BCOEF ! soil water CH78 b-parameter (-)
283  REAL, POINTER, DIMENSION(:,:) :: XP_CONDSAT ! hydraulic conductivity at saturation (m/s)
284  REAL, POINTER, DIMENSION(:,:) :: XP_MPOTSAT ! matric potential at saturation (m)
285 !
286 ! - soil: Secondary parameters: thermal
287 !
288  REAL, POINTER, DIMENSION(:) :: XP_CGSAT ! soil thermal inertia coefficient at
289 ! ! saturation (K m2/J)
290  REAL, POINTER, DIMENSION(:,:) :: XP_HCAPSOIL ! soil heat capacity (J/K/m3)
291  REAL, POINTER, DIMENSION(:,:) :: XP_CONDDRY ! soil dry thermal conductivity (W/m/K)
292  REAL, POINTER, DIMENSION(:,:) :: XP_CONDSLD ! soil solids thermal conductivity (W/m/K)
293  REAL, POINTER, DIMENSION(:) :: XP_TDEEP ! prescribed deep soil temperature
294 ! ! (optional) (K)
295 ! Prognostic variables:
296 !
297 ! - Snow Cover:
298 !
299  REAL, POINTER, DIMENSION(:,:) :: XP_SNOWSWE ! snow (& liq. water) content (kg/m2)
300  REAL, POINTER, DIMENSION(:,:) :: XP_SNOWHEAT ! heat content (J/m2)
301  REAL, POINTER, DIMENSION(:,:) :: XP_SNOWRHO ! density (kg m-3)
302  REAL, POINTER, DIMENSION(:,:) :: XP_SNOWGRAN1 ! grain parameter 1 (-)
303  REAL, POINTER, DIMENSION(:,:) :: XP_SNOWGRAN2 ! grain parameter 2 (-)
304  REAL, POINTER, DIMENSION(:,:) :: XP_SNOWHIST ! historical parameter (-)
305  REAL, POINTER, DIMENSION(:,:) :: XP_SNOWAGE ! Snow grain age (days)
306  REAL, POINTER, DIMENSION(:) :: XP_SNOWALB ! snow tot albedo (-)
307  REAL, POINTER, DIMENSION(:) :: XP_SNOWALBVIS ! snow VIS albedo (-)
308  REAL, POINTER, DIMENSION(:) :: XP_SNOWALBNIR ! snow NIR albedo (-)
309  REAL, POINTER, DIMENSION(:) :: XP_SNOWALBFIR ! snow FIR albedo (-)
310  REAL, POINTER, DIMENSION(:) :: XP_SNOWEMIS ! snow emissivity (ISBA-ES:3-L) (-)
311 !
312  REAL, POINTER, DIMENSION(:) :: XP_ICE_STO
313 !
314 ! - Soil and vegetation heat and water:
315 !
316  REAL, POINTER, DIMENSION(:) :: XP_WR ! liquid water retained on the
317 ! ! foliage of the vegetation
318 ! ! canopy (kg/m2)
319  REAL, POINTER, DIMENSION(:,:) :: XP_TG ! surface and sub-surface soil
320 ! ! temperature profile (K)
321  REAL, POINTER, DIMENSION(:,:) :: XP_WG ! soil volumetric water content profile (m3/m3)
322  REAL, POINTER, DIMENSION(:,:) :: XP_WGI ! soil liquid water equivalent volumetric
323 ! ! ice content profile (m3/m3)
324  REAL, POINTER, DIMENSION(:) :: XP_RESA ! aerodynamic resistance (s/m)
325 ! - For multi-energy balance:
326 !
327  REAL, POINTER, DIMENSION(:) :: XP_WRL ! liquid water retained on the litter
328 ! ! of the canopy vegetation (kg/m2)
329  REAL, POINTER, DIMENSION(:) :: XP_WRLI ! solid water retained on the litter
330  REAL, POINTER, DIMENSION(:) :: XP_WRVN ! snow retained on the foliage
331 ! ! of the canopy vegetation (kg/m2)
332  REAL, POINTER, DIMENSION(:) :: XP_TV ! canopy vegetation temperature (K)
333  REAL, POINTER, DIMENSION(:) :: XP_TL ! litter temperature (K)
334  REAL, POINTER, DIMENSION(:) :: XP_TC ! canopy air temperature (K)
335  REAL, POINTER, DIMENSION(:) :: XP_QC ! canopy air specific humidity (kg/kg)
336 !
337  REAL, POINTER, DIMENSION(:) :: XP_RGLV ! canopy veg maximum solar radiation
338  REAL, POINTER, DIMENSION(:) :: XP_GAMMAV ! coefficient for the calculation
339 ! ! of the canopy veg surface stomatal
340  REAL, POINTER, DIMENSION(:) :: XP_RSMINV ! canopy veg minimum stomatal resistance (s/m)
341  REAL, POINTER, DIMENSION(:,:) :: XP_ROOTFRACV ! canopy veg root fraction profile ('DIF' option)
342  REAL, POINTER, DIMENSION(:) :: XP_WRMAX_CFV ! canopy veg coefficient for maximum water
343 ! ! interception
344  REAL, POINTER, DIMENSION(:) :: XP_LAIV ! canopy veg Leaf Area Index (m2/m2)
345  REAL, POINTER, DIMENSION(:) :: XP_Z0V ! canopy veg roughness length (m)
346  REAL, POINTER, DIMENSION(:) :: XP_H_VEG ! vegetation height (m)
347  REAL, POINTER, DIMENSION(:) :: XP_GNDLITTER ! ground litter cover (-)
348  REAL, POINTER, DIMENSION(:) :: XP_Z0LITTER ! ground litter roughness length (m)
349 !
350 ! - Vegetation: Ags Prognos
351 !
352  REAL, POINTER, DIMENSION(:) :: XP_FWTD ! grid-cell fraction of water table to rise
353  REAL, POINTER, DIMENSION(:) :: XP_WTD ! water table depth (m)
354 !
355 ! - Vegetation: Ags Prognostic (YPHOTO = 'LAI', 'LST', 'NIT', 'NCB') or prescribed (YPHOTO = 'NON', 'AGS', 'AST')
356 !
357  REAL, POINTER, DIMENSION(:) :: XP_LAI ! Leaf Area Index (m2/m2)
358 !
359 ! - Vegetation: Ags Prognostic (YPHOTO = 'AGS', 'LAI', 'AST', 'LST', 'NIT', 'NCB')
360 !
361  REAL, POINTER, DIMENSION(:) :: XP_AN ! net CO2 assimilation (mg/m2/s)
362  REAL, POINTER, DIMENSION(:) :: XP_ANDAY ! daily net CO2 assimilation (mg/m2)
363  REAL, POINTER, DIMENSION(:) :: XP_ANFM ! maximum leaf assimilation (mg/m2/s)
364  REAL, POINTER, DIMENSION(:) :: XP_LE ! evapotranspiration (W/m2)
365  REAL, POINTER, DIMENSION(:) :: XP_LEI ! sublimation (W/m2)
366  REAL, POINTER, DIMENSION(:) :: XP_FAPARC ! FAPAR of vegetation (cumul)
367  REAL, POINTER, DIMENSION(:) :: XP_FAPIRC ! FAPIR of vegetation (cumul)
368  REAL, POINTER, DIMENSION(:) :: XP_LAI_EFFC ! effective LAI (cumul)
369  REAL, POINTER, DIMENSION(:) :: XP_MUS !
370 !
371 ! - Vegetation: Ags Prognostic (YPHOTO = 'NIT', 'NCB')
372 !
373  REAL, POINTER, DIMENSION(:,:) :: XP_RESP_BIOMASS ! daily cumulated respiration of
374 ! ! biomass (kg/m2/s)
375  REAL, POINTER, DIMENSION(:,:) :: XP_BIOMASS ! biomass of previous day (kg/m2)
376  REAL, POINTER, DIMENSION(:,:) :: XP_INCREASE ! biomass increase (kg/m2/day)
377 !
378 ! - Soil carbon (ISBA-CC, YRESPSL = 'CNT')
379 !
380  REAL, POINTER, DIMENSION(:,:,:) :: XP_LITTER ! litter pools (gC/m2)
381  REAL, POINTER, DIMENSION(:,:) :: XP_SOILCARB ! soil carbon pools (gC/m2)
382  REAL, POINTER, DIMENSION(:,:) :: XP_LIGNIN_STRUC ! ratio Lignin/Carbon in structural
383 ! litter (gC/m2)
384 !
385  REAL, POINTER, DIMENSION(:,:) :: XP_TURNOVER ! turnover rates from biomass to litter (gC/m2/s)
386 !
387 ! - Irrigation
388 !
389  LOGICAL, POINTER, DIMENSION(:) :: XP_LIRRIGATE ! high level switch for irrigation
390  LOGICAL, POINTER, DIMENSION(:) :: XP_LIRRIDAY ! flag used for daily irrigation stage
391  REAL, POINTER, DIMENSION(:) :: XP_THRESHOLD ! threshold for stages
392  REAL, POINTER, DIMENSION(:) :: XP_WATSUP ! water supply
393  REAL, POINTER, DIMENSION(:) :: XP_IRRIG ! fraction of irrigated vegetation
394  TYPE(date_time), DIMENSION(:), POINTER :: TP_SEED ! seeding date
395  TYPE(date_time), DIMENSION(:), POINTER :: TP_REAP ! reaping date
396 ! ! previous day (kg/m2)
397 ! - SGH scheme
398 !
399  REAL, POINTER, DIMENSION(:) :: XP_D_ICE !depth of the soil column for the calculation
400 ! of the frozen soil fraction (m)
401  REAL, POINTER, DIMENSION(:) :: XP_KSAT_ICE !hydraulic conductivity at saturation
402 ! over frozen area (m s-1)
403  REAL, POINTER, DIMENSION(:) :: XP_FSAT !Topmodel saturated fraction
404  REAL, POINTER, DIMENSION(:) :: XP_MUF !Rainfall surface fraction
405  REAL, POINTER, DIMENSION(:,:) :: XP_TOPQS !Topmodel baseflow by layer (m s-1)
406 !
407 ! - Courant time step properties
408 !
409  REAL, POINTER, DIMENSION(:) :: XP_PSN ! fraction of the grid covered by snow (-)
410  REAL, POINTER, DIMENSION(:) :: XP_PSNG ! fraction of the the bare ground covered by snow (-)
411  REAL, POINTER, DIMENSION(:) :: XP_PSNV ! fraction of the the vegetation covered by snow(-)
412  REAL, POINTER, DIMENSION(:) :: XP_PSNV_A ! fraction of the the vegetation covered by snow for EBA scheme(-)
413  REAL, POINTER, DIMENSION(:,:) :: XP_DIR_ALB_WITH_SNOW ! Total direct albedo
414  REAL, POINTER, DIMENSION(:,:) :: XP_SCA_ALB_WITH_SNOW ! Total diffuse albedo
415 !
416 ! - Flood scheme
417 !
418  REAL, POINTER, DIMENSION(:) :: XP_ALBF
419  REAL, POINTER, DIMENSION(:) :: XP_EMISF
420 !
421  REAL, POINTER, DIMENSION(:) :: XP_FF ! flood fraction over the surface
422  REAL, POINTER, DIMENSION(:) :: XP_FFG ! flood fraction over the ground
423  REAL, POINTER, DIMENSION(:) :: XP_FFV ! flood fraction over the vegetation
424  REAL, POINTER, DIMENSION(:) :: XP_FFROZEN ! fraction of frozen flood
425  REAL, POINTER, DIMENSION(:) :: XP_FFLOOD ! Grdi-cell flood fraction (-)
426  REAL, POINTER, DIMENSION(:) :: XP_PIFLOOD ! Floodplains potential infiltration (kg/m2/s)
427 !
428  REAL, POINTER, DIMENSION(:) :: XP_CPS, XP_LVTT, XP_LSTT
429 
430 END TYPE pack_isba_t
431 !
432 !-------------------------------------------------------------------------------
433 !
434 
435 
436  CONTAINS
437 
438 !
439 !
440 
441 
442 
443 
444 SUBROUTINE pack_isba_init(YPACK_ISBA)
445 TYPE(pack_isba_t), INTENT(INOUT) :: ypack_isba
446 REAL(KIND=JPRB) :: zhook_handle
447 IF (lhook) CALL dr_hook("MODD_PACK_ISBA_N:PACK_ISBA_INIT",0,zhook_handle)
448  nullify(ypack_isba%LBLOCK_SIMPLE)
449  nullify(ypack_isba%LBLOCK_0)
450  nullify(ypack_isba%NBLOCK_SIMPLE)
451  nullify(ypack_isba%NBLOCK_0)
452  nullify(ypack_isba%TBLOCK_SIMPLE)
453  nullify(ypack_isba%TBLOCK_0)
454  nullify(ypack_isba%XBLOCK_SIMPLE)
455  nullify(ypack_isba%XBLOCK_GROUND)
456  nullify(ypack_isba%XBLOCK_VEGTYPE)
457  nullify(ypack_isba%XBLOCK_TG)
458  nullify(ypack_isba%XBLOCK_SNOW)
459  nullify(ypack_isba%XBLOCK_ALB)
460  nullify(ypack_isba%XBLOCK_2)
461  nullify(ypack_isba%XBLOCK_BIOMASS)
462  nullify(ypack_isba%XBLOCK_SOILCARB)
463  nullify(ypack_isba%XBLOCK_LITTLEVS)
464  nullify(ypack_isba%XBLOCK_LITTER)
465  nullify(ypack_isba%XBLOCK_0)
466  nullify(ypack_isba%XBLOCK_00)
467  nullify(ypack_isba%XBLOCK_000)
468  nullify(ypack_isba%XBLOCK_01)
469  nullify(ypack_isba%XP_VEGTYPE_PATCH)
470  nullify(ypack_isba%XP_SSO_SLOPE)
471  nullify(ypack_isba%XP_LAT)
472  nullify(ypack_isba%XP_LON)
473  nullify(ypack_isba%XP_AOSIP)
474  nullify(ypack_isba%XP_AOSIM)
475  nullify(ypack_isba%XP_AOSJP)
476  nullify(ypack_isba%XP_AOSJM)
477  nullify(ypack_isba%XP_HO2IP)
478  nullify(ypack_isba%XP_HO2IM)
479  nullify(ypack_isba%XP_HO2JP)
480  nullify(ypack_isba%XP_HO2JM)
481  nullify(ypack_isba%XP_Z0EFFIP)
482  nullify(ypack_isba%XP_Z0EFFIM)
483  nullify(ypack_isba%XP_Z0EFFJP)
484  nullify(ypack_isba%XP_Z0EFFJM)
485  nullify(ypack_isba%XP_Z0REL)
486  nullify(ypack_isba%XP_CLAY)
487  nullify(ypack_isba%XP_SAND)
488  nullify(ypack_isba%XP_ALBNIR_DRY)
489  nullify(ypack_isba%XP_ALBVIS_DRY)
490  nullify(ypack_isba%XP_ALBUV_DRY)
491  nullify(ypack_isba%XP_ALBNIR_WET)
492  nullify(ypack_isba%XP_ALBVIS_WET)
493  nullify(ypack_isba%XP_ALBUV_WET)
494  nullify(ypack_isba%XP_ALBNIR_SOIL)
495  nullify(ypack_isba%XP_ALBVIS_SOIL)
496  nullify(ypack_isba%XP_ALBUV_SOIL)
497  nullify(ypack_isba%XP_Z0_O_Z0H)
498  nullify(ypack_isba%XP_ALBNIR)
499  nullify(ypack_isba%XP_ALBVIS)
500  nullify(ypack_isba%XP_ALBUV)
501  nullify(ypack_isba%XP_EMIS)
502  nullify(ypack_isba%XP_Z0)
503  nullify(ypack_isba%XP_ALBNIR_VEG)
504  nullify(ypack_isba%XP_ALBVIS_VEG)
505  nullify(ypack_isba%XP_ALBUV_VEG)
506  nullify(ypack_isba%XP_VEG)
507  nullify(ypack_isba%XP_WRMAX_CF)
508  nullify(ypack_isba%XP_RSMIN)
509  nullify(ypack_isba%XP_GAMMA)
510  nullify(ypack_isba%XP_CV)
511  nullify(ypack_isba%XP_RGL)
512  nullify(ypack_isba%XP_ROOTFRAC)
513  nullify(ypack_isba%XP_BSLAI)
514  nullify(ypack_isba%XP_LAIMIN)
515  nullify(ypack_isba%XP_SEFOLD)
516  nullify(ypack_isba%XP_H_TREE)
517  nullify(ypack_isba%XP_ANF)
518  nullify(ypack_isba%XP_ANMAX)
519  nullify(ypack_isba%XP_FZERO)
520  nullify(ypack_isba%XP_EPSO)
521  nullify(ypack_isba%XP_GAMM)
522  nullify(ypack_isba%XP_QDGAMM)
523  nullify(ypack_isba%XP_GMES)
524  nullify(ypack_isba%XP_RE25)
525  nullify(ypack_isba%XP_QDGMES)
526  nullify(ypack_isba%XP_T1GMES)
527  nullify(ypack_isba%XP_T2GMES)
528  nullify(ypack_isba%XP_AMAX)
529  nullify(ypack_isba%XP_QDAMAX)
530  nullify(ypack_isba%XP_T1AMAX)
531  nullify(ypack_isba%XP_T2AMAX)
532  nullify(ypack_isba%LP_STRESS)
533  nullify(ypack_isba%XP_F2I)
534  nullify(ypack_isba%XP_GC)
535  nullify(ypack_isba%XP_AH)
536  nullify(ypack_isba%XP_BH)
537  nullify(ypack_isba%XP_TAU_WOOD)
538  nullify(ypack_isba%XP_DMAX)
539  nullify(ypack_isba%XP_CE_NITRO)
540  nullify(ypack_isba%XP_CF_NITRO)
541  nullify(ypack_isba%XP_CNA_NITRO)
542  nullify(ypack_isba%XP_BSLAI_NITRO)
543  nullify(ypack_isba%XP_RUNOFFB)
544  nullify(ypack_isba%XP_WDRAIN)
545  nullify(ypack_isba%XP_TAUICE)
546  nullify(ypack_isba%XP_GAMMAT)
547  nullify(ypack_isba%XP_DG)
548  nullify(ypack_isba%XP_DZG)
549  nullify(ypack_isba%XP_DZDIF)
550  nullify(ypack_isba%NK_WG_LAYER)
551  nullify(ypack_isba%XP_RUNOFFD)
552  nullify(ypack_isba%XP_SOILWGHT)
553  nullify(ypack_isba%XP_C1SAT)
554  nullify(ypack_isba%XP_C2REF)
555  nullify(ypack_isba%XP_C3)
556  nullify(ypack_isba%XP_C4B)
557  nullify(ypack_isba%XP_C4REF)
558  nullify(ypack_isba%XP_ACOEF)
559  nullify(ypack_isba%XP_PCOEF)
560  nullify(ypack_isba%XP_WFC)
561  nullify(ypack_isba%XP_WWILT)
562  nullify(ypack_isba%XP_WSAT)
563  nullify(ypack_isba%XP_BCOEF)
564  nullify(ypack_isba%XP_CONDSAT)
565  nullify(ypack_isba%XP_MPOTSAT)
566  nullify(ypack_isba%XP_CGSAT)
567  nullify(ypack_isba%XP_HCAPSOIL)
568  nullify(ypack_isba%XP_CONDDRY)
569  nullify(ypack_isba%XP_CONDSLD)
570  nullify(ypack_isba%XP_TDEEP)
571  nullify(ypack_isba%XP_SNOWSWE)
572  nullify(ypack_isba%XP_SNOWHEAT)
573  nullify(ypack_isba%XP_SNOWRHO)
574  nullify(ypack_isba%XP_SNOWGRAN1)
575  nullify(ypack_isba%XP_SNOWGRAN2)
576  nullify(ypack_isba%XP_SNOWHIST)
577  nullify(ypack_isba%XP_SNOWAGE)
578  nullify(ypack_isba%XP_SNOWALB)
579  nullify(ypack_isba%XP_SNOWALBVIS)
580  nullify(ypack_isba%XP_SNOWALBNIR)
581  nullify(ypack_isba%XP_SNOWALBFIR)
582  nullify(ypack_isba%XP_SNOWEMIS)
583  nullify(ypack_isba%XP_ICE_STO)
584  nullify(ypack_isba%XP_WR)
585  nullify(ypack_isba%XP_TG)
586  nullify(ypack_isba%XP_WG)
587  nullify(ypack_isba%XP_WGI)
588  nullify(ypack_isba%XP_RESA)
589  nullify(ypack_isba%XP_WRL)
590  nullify(ypack_isba%XP_WRLI)
591  nullify(ypack_isba%XP_WRVN)
592  nullify(ypack_isba%XP_TV)
593  nullify(ypack_isba%XP_TL)
594  nullify(ypack_isba%XP_TC)
595  nullify(ypack_isba%XP_QC)
596  nullify(ypack_isba%XP_RGLV)
597  nullify(ypack_isba%XP_GAMMAV)
598  nullify(ypack_isba%XP_RSMINV)
599  nullify(ypack_isba%XP_ROOTFRACV)
600  nullify(ypack_isba%XP_WRMAX_CFV)
601  nullify(ypack_isba%XP_LAIV)
602  nullify(ypack_isba%XP_Z0V)
603  nullify(ypack_isba%XP_H_VEG)
604  nullify(ypack_isba%XP_GNDLITTER)
605  nullify(ypack_isba%XP_Z0LITTER)
606  nullify(ypack_isba%XP_FWTD)
607  nullify(ypack_isba%XP_WTD)
608  nullify(ypack_isba%XP_LAI)
609  nullify(ypack_isba%XP_AN)
610  nullify(ypack_isba%XP_ANDAY)
611  nullify(ypack_isba%XP_ANFM)
612  nullify(ypack_isba%XP_LE)
613  nullify(ypack_isba%XP_LEI)
614  nullify(ypack_isba%XP_FAPARC)
615  nullify(ypack_isba%XP_FAPIRC)
616  nullify(ypack_isba%XP_LAI_EFFC)
617  nullify(ypack_isba%XP_MUS)
618  nullify(ypack_isba%XP_RESP_BIOMASS)
619  nullify(ypack_isba%XP_BIOMASS)
620  nullify(ypack_isba%XP_INCREASE)
621  nullify(ypack_isba%XP_LITTER)
622  nullify(ypack_isba%XP_SOILCARB)
623  nullify(ypack_isba%XP_LIGNIN_STRUC)
624  nullify(ypack_isba%XP_TURNOVER)
625  nullify(ypack_isba%XP_LIRRIGATE)
626  nullify(ypack_isba%XP_LIRRIDAY)
627  nullify(ypack_isba%XP_THRESHOLD)
628  nullify(ypack_isba%XP_WATSUP)
629  nullify(ypack_isba%XP_IRRIG)
630  nullify(ypack_isba%TP_SEED)
631  nullify(ypack_isba%TP_REAP)
632  nullify(ypack_isba%XP_D_ICE)
633  nullify(ypack_isba%XP_KSAT_ICE)
634  nullify(ypack_isba%XP_FSAT)
635  nullify(ypack_isba%XP_MUF)
636  nullify(ypack_isba%XP_TOPQS)
637  nullify(ypack_isba%XP_PSN)
638  nullify(ypack_isba%XP_PSNG)
639  nullify(ypack_isba%XP_PSNV)
640  nullify(ypack_isba%XP_PSNV_A)
641  nullify(ypack_isba%XP_DIR_ALB_WITH_SNOW)
642  nullify(ypack_isba%XP_SCA_ALB_WITH_SNOW)
643  nullify(ypack_isba%XP_ALBF)
644  nullify(ypack_isba%XP_EMISF)
645  nullify(ypack_isba%XP_FF)
646  nullify(ypack_isba%XP_FFG)
647  nullify(ypack_isba%XP_FFV)
648  nullify(ypack_isba%XP_FFROZEN)
649  nullify(ypack_isba%XP_FFLOOD)
650  nullify(ypack_isba%XP_PIFLOOD)
651  nullify(ypack_isba%XP_CPS)
652  nullify(ypack_isba%XP_LVTT)
653  nullify(ypack_isba%XP_LSTT)
654 IF (lhook) CALL dr_hook("MODD_PACK_ISBA_N:PACK_ISBA_INIT",1,zhook_handle)
655 END SUBROUTINE pack_isba_init
656 
657 
658 END MODULE modd_pack_isba
subroutine pack_isba_init(YPACK_ISBA)