Philippe 07/03/2019: IO bugfix: io_set_mnhversion must be called by all the processes
[MNH-git_open_source-lfs.git] / src / SURFEX / read_pgd_teb_garden_parn.F90
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 READ_PGD_TEB_GARDEN_PAR_n (DTV, IO, KDIM, HPROGRAM)
7 !     ################################################
8 !
9 !!****  *READ_PGD_TEB_GARDEN_PAR_n* - reads ISBA physiographic fields
10 !!                        
11 !!
12 !!    PURPOSE
13 !!    -------
14 !!
15 !!**  METHOD
16 !!    ------
17 !!
18 !!    EXTERNAL
19 !!    --------
20 !!
21 !!
22 !!    IMPLICIT ARGUMENTS
23 !!    ------------------
24 !!
25 !!    REFERENCE
26 !!    ---------
27 !!
28 !!
29 !!    AUTHOR
30 !!    ------
31 !!      V. Masson   *Meteo France*
32 !!
33 !!    MODIFICATIONS
34 !!    -------------
35 !!      Original    01/2003 
36 !!      P. Le Moigne 12/2004 : add type of photosynthesis
37 !!      R. Alkama    05/2012 : Add 7 new vegtypes (19 rather than 12)
38 !!      B. Decharme    05/13 : new param for equatorial forest
39 !-------------------------------------------------------------------------------
40 !
41 !*       0.    DECLARATIONS
42 !              ------------
43 !
44 !
45 !
46 !
47 !
48 USE MODD_DATA_ISBA_n, ONLY : DATA_ISBA_t
49 USE MODD_ISBA_OPTIONS_n, ONLY : ISBA_OPTIONS_t
50 !
51 USE MODD_CSTS,              ONLY : XDAY
52 USE MODD_SURF_PAR,          ONLY : XUNDEF
53 USE MODD_ISBA_PAR,          ONLY : XOPTIMGRID, NOPTIMLAYER
54 USE MODD_DATA_COVER_PAR,    ONLY : NVT_NO, NVT_ROCK, NVT_SNOW, NVT_TEBD,     & 
55                                      NVT_BONE, NVT_TRBE, NVT_C3, NVT_C4,     &
56                                      NVT_IRR, NVT_GRAS, NVT_TROG,NVT_PARK,   &
57                                      NVT_TRBD, NVT_TEBE, NVT_TENE, NVT_BOBD, &
58                                      NVT_BOND, NVT_BOGR, NVT_SHRB, NVT_C3W,  &
59                                      NVT_C3S, NVT_FLTR, NVT_FLGR, NVEGTYPE
60 !
61 USE MODI_READ_SURF
62 USE MODI_VEG_FROM_LAI
63 USE MODI_Z0V_FROM_LAI
64 USE MODI_EMIS_FROM_VEG
65 USE MODI_ABOR1_SFX
66 !
67 USE MODD_REPROD_OPER,    ONLY : XEVERG_RSMIN
68 !
69 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
70 USE PARKIND1  ,ONLY : JPRB
71 !
72 IMPLICIT NONE
73 !
74 !*       0.1   Declarations of arguments
75 !              -------------------------
76 !
77 !
78 !
79 !
80 TYPE(DATA_ISBA_t), INTENT(INOUT) :: DTV
81 TYPE(ISBA_OPTIONS_t), INTENT(INOUT) :: IO
82 INTEGER, INTENT(IN) :: KDIM
83 !
84  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling
85 !
86 !*       0.2   Declarations of local variables
87 !              -------------------------------
88 !
89 INTEGER                               :: IRESP          ! IRESP  : return-code if a problem appears
90 CHARACTER(LEN=LEN_HREC)                     :: YRECFM         ! Name of the article to be read
91 CHARACTER(LEN=100)                    :: YCOMMENT       ! Comment string
92 INTEGER                               :: JI, JLAYER     ! loop index
93 INTEGER                               :: JTIME          ! loop index
94 !
95 REAL, DIMENSION(KDIM,3)               :: ZDATA_RSMIN
96 REAL, DIMENSION(KDIM,3)               :: ZDATA_GAMMA
97 REAL, DIMENSION(KDIM,3)               :: ZDATA_WRMAX_CF
98 REAL, DIMENSION(KDIM,3)               :: ZDATA_RGL
99 REAL, DIMENSION(KDIM,3)               :: ZDATA_CV
100 REAL, DIMENSION(KDIM,IO%NGROUND_LAYER,3) :: ZDATA_DG
101 REAL, DIMENSION(KDIM,3)               :: ZDATA_ALBNIR_VEG
102 REAL, DIMENSION(KDIM,3)               :: ZDATA_ALBVIS_VEG
103 REAL, DIMENSION(KDIM,3)               :: ZDATA_ALBUV_VEG
104 REAL, DIMENSION(KDIM,3)               :: ZDATA_GMES
105 REAL, DIMENSION(KDIM,3)               :: ZDATA_RE25
106 REAL, DIMENSION(KDIM,3)               :: ZDATA_BSLAI
107 REAL, DIMENSION(KDIM,3)               :: ZDATA_LAIMIN
108 REAL, DIMENSION(KDIM,3)               :: ZDATA_SEFOLD
109 REAL, DIMENSION(KDIM,3)               :: ZDATA_GC
110 REAL, DIMENSION(KDIM,3)               :: ZDATA_DMAX
111 REAL, DIMENSION(KDIM,3)               :: ZDATA_CE_NITRO
112 REAL, DIMENSION(KDIM,3)               :: ZDATA_CF_NITRO
113 REAL, DIMENSION(KDIM,3)               :: ZDATA_CNA_NITRO
114 !
115 LOGICAL :: GAGRI_TO_GRASS
116 !
117 REAL(KIND=JPRB) :: ZHOOK_HANDLE
118 !
119 !-------------------------------------------------------------------------------
120 !
121 !*       1.    Reading of PGD file
122 !              --------------------
123 !
124 IF (LHOOK) CALL DR_HOOK('READ_PGD_TEB_GARDEN_PAR_N',0,ZHOOK_HANDLE)
125 DTV%NTIME= 12
126 !
127 GAGRI_TO_GRASS=.FALSE.
128 !
129 YRECFM='GD_NTIME'
130 CALL READ_SURF(HPROGRAM,YRECFM,DTV%NTIME,IRESP,HCOMMENT=YCOMMENT)
131 !
132 DTV%LIMP_VEG=.FALSE.
133 DTV%LIMP_Z0=.FALSE.
134 DTV%LIMP_EMIS=.FALSE.
135 !
136 ALLOCATE(DTV%XPAR_FRAC_HVEG (KDIM))
137 ALLOCATE(DTV%XPAR_FRAC_LVEG (KDIM))
138 ALLOCATE(DTV%XPAR_FRAC_NVEG (KDIM))
139 ALLOCATE(DTV%XPAR_LAI_HVEG  (KDIM,DTV%NTIME))
140 ALLOCATE(DTV%XPAR_LAI_LVEG  (KDIM,DTV%NTIME))
141 ALLOCATE(DTV%XPAR_H_HVEG    (KDIM))
142 !
143 ! Read type of high vegetation
144 YRECFM='D_TYPE_HVEG'
145  CALL READ_SURF(HPROGRAM,YRECFM,IO%CTYPE_HVEG,IRESP,HCOMMENT=YCOMMENT)
146 !
147 ! Read type of low vegetation
148 YRECFM='D_TYPE_LVEG'
149  CALL READ_SURF(HPROGRAM,YRECFM,IO%CTYPE_LVEG,IRESP,HCOMMENT=YCOMMENT)
150 !
151 ! Read type of bare soil (no vegetation)
152 YRECFM='D_TYPE_NVEG'
153  CALL READ_SURF(HPROGRAM,YRECFM,IO%CTYPE_NVEG,IRESP,HCOMMENT=YCOMMENT)
154 !
155 ! Read fraction of high vegetation
156 YRECFM='D_FRAC_HVEG'
157  CALL READ_SURF(HPROGRAM,YRECFM,DTV%XPAR_FRAC_HVEG,IRESP,HCOMMENT=YCOMMENT)
158 !
159 ! Read fraction of low vegetation
160 YRECFM='D_FRAC_LVEG'
161  CALL READ_SURF(HPROGRAM,YRECFM,DTV%XPAR_FRAC_LVEG,IRESP,HCOMMENT=YCOMMENT)
162 !
163 ! Read fraction of bare soil (no vegetation)
164 YRECFM='D_FRAC_NVEG'
165  CALL READ_SURF(HPROGRAM,YRECFM,DTV%XPAR_FRAC_NVEG,IRESP,HCOMMENT=YCOMMENT)
166 !
167 ! Read height of trees( for high vegetation)
168 YRECFM='D_H_HVEG'
169  CALL READ_SURF(HPROGRAM,YRECFM,DTV%XPAR_H_HVEG,IRESP,HCOMMENT=YCOMMENT)
170 !
171 ! Read LAI of high vegetation
172 DO JTIME=1,DTV%NTIME
173   WRITE(YRECFM,FMT='(A10,I2.2)') 'D_LAI_HVEG',JTIME
174   CALL READ_SURF(HPROGRAM,YRECFM,DTV%XPAR_LAI_HVEG(:,JTIME),IRESP,HCOMMENT=YCOMMENT)
175   WRITE(YRECFM,FMT='(A10,I2.2)') 'D_LAI_LVEG',JTIME
176   CALL READ_SURF(HPROGRAM,YRECFM,DTV%XPAR_LAI_LVEG(:,JTIME),IRESP,HCOMMENT=YCOMMENT)
177 END DO
178 !
179 !-------------------------------------------------------------------------------
180 !
181 !*       2.    Definition of ISBA parameters
182 !              -----------------------------
183 !
184 ALLOCATE(DTV%XPAR_LAI        (KDIM,DTV%NTIME,1))
185 ALLOCATE(DTV%XPAR_VEG        (KDIM,DTV%NTIME,1))
186 ALLOCATE(DTV%XPAR_RSMIN      (KDIM,1))
187 ALLOCATE(DTV%XPAR_GAMMA      (KDIM,1))
188 ALLOCATE(DTV%XPAR_WRMAX_CF   (KDIM,1))
189 ALLOCATE(DTV%XPAR_RGL        (KDIM,1))
190 ALLOCATE(DTV%XPAR_CV         (KDIM,1))
191 ALLOCATE(DTV%XPAR_DG         (KDIM,IO%NGROUND_LAYER,1))
192 ALLOCATE(DTV%XPAR_ROOTFRAC   (KDIM,IO%NGROUND_LAYER,1))
193 ALLOCATE(DTV%XPAR_DICE       (KDIM,1))
194 ALLOCATE(DTV%XPAR_Z0         (KDIM,DTV%NTIME,1))
195 ALLOCATE(DTV%XPAR_Z0_O_Z0H   (KDIM,1))
196 ALLOCATE(DTV%XPAR_ALBNIR_VEG (KDIM,1,1))
197 ALLOCATE(DTV%XPAR_ALBVIS_VEG (KDIM,1,1))
198 ALLOCATE(DTV%XPAR_ALBUV_VEG  (KDIM,1,1))
199 ALLOCATE(DTV%XPAR_ALBNIR_SOIL(KDIM,1,1))
200 ALLOCATE(DTV%XPAR_ALBVIS_SOIL(KDIM,1,1))
201 ALLOCATE(DTV%XPAR_ALBUV_SOIL (KDIM,1,1))
202 ALLOCATE(DTV%XPAR_EMIS       (KDIM,DTV%NTIME,1))
203 ALLOCATE(DTV%XPAR_VEGTYPE    (KDIM,NVEGTYPE))
204 ALLOCATE(DTV%XPAR_GMES       (KDIM,1))
205 ALLOCATE(DTV%XPAR_RE25       (KDIM,1))
206 ALLOCATE(DTV%XPAR_BSLAI      (KDIM,1))
207 ALLOCATE(DTV%XPAR_LAIMIN     (KDIM,1))
208 ALLOCATE(DTV%XPAR_SEFOLD     (KDIM,1))
209 ALLOCATE(DTV%XPAR_GC         (KDIM,1))
210 ALLOCATE(DTV%XPAR_DMAX       (KDIM,1))
211 ALLOCATE(DTV%XPAR_F2I        (KDIM,1))
212 ALLOCATE(DTV%LPAR_STRESS     (KDIM,1))
213 ALLOCATE(DTV%XPAR_H_TREE     (KDIM,1))
214 ALLOCATE(DTV%XPAR_CE_NITRO   (KDIM,1))
215 ALLOCATE(DTV%XPAR_CF_NITRO   (KDIM,1))
216 ALLOCATE(DTV%XPAR_CNA_NITRO  (KDIM,1))
217 !
218 DTV%XPAR_LAI        (:,:,:) = XUNDEF
219 DTV%XPAR_VEG        (:,:,:) = XUNDEF
220 DTV%XPAR_RSMIN        (:,:) = XUNDEF
221 DTV%XPAR_GAMMA        (:,:) = XUNDEF
222 DTV%XPAR_WRMAX_CF     (:,:) = XUNDEF
223 DTV%XPAR_RGL          (:,:) = XUNDEF
224 DTV%XPAR_CV           (:,:) = XUNDEF
225 DTV%XPAR_DG         (:,:,:) = XUNDEF
226 DTV%XPAR_DICE       (:,:)   = XUNDEF
227 DTV%XPAR_ROOTFRAC   (:,:,:) = XUNDEF
228 DTV%XPAR_Z0         (:,:,:) = XUNDEF
229 DTV%XPAR_Z0_O_Z0H     (:,:) = XUNDEF
230 DTV%XPAR_ALBNIR_VEG   (:,:,:) = XUNDEF
231 DTV%XPAR_ALBVIS_VEG   (:,:,:) = XUNDEF
232 DTV%XPAR_ALBUV_VEG    (:,:,:) = XUNDEF
233 DTV%XPAR_ALBNIR_SOIL  (:,:,:) = XUNDEF
234 DTV%XPAR_ALBVIS_SOIL  (:,:,:) = XUNDEF
235 DTV%XPAR_ALBUV_SOIL   (:,:,:) = XUNDEF
236 DTV%XPAR_EMIS       (:,:,:) = XUNDEF
237 DTV%XPAR_VEGTYPE    (:,:) = XUNDEF
238 DTV%XPAR_GMES         (:,:) = XUNDEF
239 DTV%XPAR_RE25         (:,:) = XUNDEF
240 DTV%XPAR_BSLAI        (:,:) = XUNDEF
241 DTV%XPAR_LAIMIN       (:,:) = XUNDEF
242 DTV%XPAR_SEFOLD       (:,:) = XUNDEF
243 DTV%XPAR_GC           (:,:) = XUNDEF
244 DTV%XPAR_DMAX         (:,:) = XUNDEF
245 DTV%XPAR_F2I          (:,:) = XUNDEF
246 DTV%LPAR_STRESS       (:,:) = .FALSE.
247 DTV%XPAR_H_TREE       (:,:) = XUNDEF
248 DTV%XPAR_CE_NITRO     (:,:) = XUNDEF
249 DTV%XPAR_CF_NITRO     (:,:) = XUNDEF
250 DTV%XPAR_CNA_NITRO    (:,:) = XUNDEF
251 !
252 ! Vegtypes
253 DTV%XPAR_VEGTYPE(:,:) = 0.
254 IF (IO%CTYPE_NVEG == 'NO  ') DTV%XPAR_VEGTYPE(:, NVT_NO  ) = DTV%XPAR_FRAC_NVEG(:)
255 IF (IO%CTYPE_NVEG == 'ROCK') DTV%XPAR_VEGTYPE(:, NVT_ROCK) = DTV%XPAR_FRAC_NVEG(:)
256 IF (IO%CTYPE_NVEG == 'SNOW') DTV%XPAR_VEGTYPE(:, NVT_SNOW) = DTV%XPAR_FRAC_NVEG(:)
257 IF (IO%CTYPE_HVEG == 'TEBD') DTV%XPAR_VEGTYPE(:, NVT_TEBD) = DTV%XPAR_FRAC_HVEG(:)
258 IF (IO%CTYPE_HVEG == 'TRBD') DTV%XPAR_VEGTYPE(:, NVT_TRBD) = DTV%XPAR_FRAC_HVEG(:)
259 IF (IO%CTYPE_HVEG == 'TEBE') DTV%XPAR_VEGTYPE(:, NVT_TEBE) = DTV%XPAR_FRAC_HVEG(:)
260 IF (IO%CTYPE_HVEG == 'BOBD') DTV%XPAR_VEGTYPE(:, NVT_BOBD) = DTV%XPAR_FRAC_HVEG(:)
261 IF (IO%CTYPE_HVEG == 'SHRB') DTV%XPAR_VEGTYPE(:, NVT_SHRB) = DTV%XPAR_FRAC_HVEG(:)
262 IF (IO%CTYPE_HVEG == 'BONE') DTV%XPAR_VEGTYPE(:, NVT_BONE) = DTV%XPAR_FRAC_HVEG(:)
263 IF (IO%CTYPE_HVEG == 'TENE') DTV%XPAR_VEGTYPE(:, NVT_TENE) = DTV%XPAR_FRAC_HVEG(:)
264 IF (IO%CTYPE_HVEG == 'BOND') DTV%XPAR_VEGTYPE(:, NVT_BOND) = DTV%XPAR_FRAC_HVEG(:)
265 IF (IO%CTYPE_HVEG == 'TRBE') DTV%XPAR_VEGTYPE(:, NVT_TRBE) = DTV%XPAR_FRAC_HVEG(:)
266 !
267 IF (IO%CTYPE_LVEG == 'C3  ') THEN
268   IF (NVT_C3>0) THEN
269     DTV%XPAR_VEGTYPE(:, NVT_C3  ) = DTV%XPAR_FRAC_LVEG(:)
270   ELSEIF (NVT_C3W>0) THEN
271     DTV%XPAR_VEGTYPE(:, NVT_C3W ) = DTV%XPAR_FRAC_LVEG(:)
272   ENDIF
273 ENDIF
274 !
275 IF (IO%CTYPE_LVEG == 'C3W ') THEN
276   IF (NVT_C3W>0) THEN
277     DTV%XPAR_VEGTYPE(:, NVT_C3W ) = DTV%XPAR_FRAC_LVEG(:)
278   ELSE
279     CALL ABOR1_SFX("READ_PGD_TEB_GARDEN_PAR: NO VEGTYPE C3W WITHOUT ECOSG")
280   ENDIF
281 ENDIF
282 !
283 IF (IO%CTYPE_LVEG == 'C3S ') THEN
284   IF (NVT_C3S>0) THEN
285     DTV%XPAR_VEGTYPE(:, NVT_C3S ) = DTV%XPAR_FRAC_LVEG(:)
286   ELSE
287     CALL ABOR1_SFX("READ_PGD_TEB_GARDEN_PAR: NO VEGTYPE C3S WITHOUT ECOSG")
288   ENDIF
289 ENDIF
290 !
291 IF (IO%CTYPE_LVEG == 'C4  ') DTV%XPAR_VEGTYPE(:, NVT_C4  ) = DTV%XPAR_FRAC_LVEG(:)
292 !
293 IF (IO%CTYPE_LVEG == 'IRR ') THEN
294   IF (NVT_IRR>0) THEN
295     DTV%XPAR_VEGTYPE(:, NVT_IRR ) = DTV%XPAR_FRAC_LVEG(:)
296   ELSE
297     CALL ABOR1_SFX("READ_PGD_TEB_GARDEN_PAR: NO VEGTYPE IRR WITH ECOSG")
298   ENDIF
299 ENDIF
300 !
301 IF (IO%CTYPE_LVEG == 'GRAS') DTV%XPAR_VEGTYPE(:, NVT_GRAS) = DTV%XPAR_FRAC_LVEG(:)
302 IF (IO%CTYPE_LVEG == 'BOGR') DTV%XPAR_VEGTYPE(:, NVT_BOGR) = DTV%XPAR_FRAC_LVEG(:)
303 IF (IO%CTYPE_LVEG == 'TROG') DTV%XPAR_VEGTYPE(:, NVT_TROG) = DTV%XPAR_FRAC_LVEG(:)
304 !
305 IF (IO%CTYPE_LVEG == 'PARK') THEN
306   IF (NVT_PARK>0) THEN
307     DTV%XPAR_VEGTYPE(:, NVT_PARK) = DTV%XPAR_FRAC_LVEG(:)
308   ELSEIF (NVT_FLGR>0) THEN
309     DTV%XPAR_VEGTYPE(:, NVT_FLGR) = DTV%XPAR_FRAC_LVEG(:)
310   ENDIF
311 ENDIF
312 !
313 IF (IO%CTYPE_LVEG == 'FLGR') THEN
314   IF (NVT_FLGR>0) THEN
315     DTV%XPAR_VEGTYPE(:, NVT_FLGR) = DTV%XPAR_FRAC_LVEG(:)
316   ELSE
317     CALL ABOR1_SFX("READ_PGD_TEB_GARDEN_PAR: NO VEGTYPE FLGR WITHOUT ECOSG")
318   ENDIF
319 ENDIF
320 IF (IO%CTYPE_LVEG == 'FLTR') THEN
321   IF (NVT_FLTR>0) THEN
322     DTV%XPAR_VEGTYPE(:, NVT_FLTR) = DTV%XPAR_FRAC_HVEG(:)
323   ELSE
324     CALL ABOR1_SFX("READ_PGD_TEB_GARDEN_PAR: NO VEGTYPE FLTR WITHOUT ECOSG")
325   ENDIF
326 ENDIF
327 !
328 ! Height of trees
329 DTV%XPAR_H_TREE  (:,1) = DTV%XPAR_H_HVEG(:)
330 !
331 ! Critical normilized soil water content for stress parameterisation
332 DTV%XPAR_F2I     (:,1) = 0.3
333 !
334 ! Ratio between roughness length for momentum and heat
335 DTV%XPAR_Z0_O_Z0H(:,1) = 10.
336 !
337 ! Defensive/offensive strategy (1/0)
338 DTV%LPAR_STRESS  (:,1) = .FALSE. 
339 !
340 DO JI=1,KDIM
341 !
342 ! Near-IR, visible, and UV albedo (vegetation only)
343
344  ZDATA_ALBNIR_VEG(JI,:)= 0.30
345  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_ALBNIR_VEG(JI,1)= 0.25
346  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_ALBNIR_VEG(JI,1)= 0.25
347  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_ALBNIR_VEG(JI,1)= 0.25
348  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_ALBNIR_VEG(JI,1)= 0.25
349  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_ALBNIR_VEG(JI,1)= 0.25
350  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_ALBNIR_VEG(JI,1)= 0.15
351  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_ALBNIR_VEG(JI,1)= 0.15
352  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_ALBNIR_VEG(JI,1)= 0.15
353  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_ALBNIR_VEG(JI,1)= 0.21
354  IF (NVT_FLTR>0) THEN
355    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_ALBNIR_VEG(JI,1) = 0.25
356  ENDIF
357
358  ZDATA_ALBVIS_VEG(JI,:)= 0.10
359  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_ALBVIS_VEG(JI,1)= 0.05
360  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_ALBVIS_VEG(JI,1)= 0.05
361  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_ALBVIS_VEG(JI,1)= 0.05
362  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_ALBVIS_VEG(JI,1)= 0.05
363  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_ALBVIS_VEG(JI,1)= 0.05
364  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_ALBVIS_VEG(JI,1)= 0.05
365  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_ALBVIS_VEG(JI,1)= 0.05
366  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_ALBVIS_VEG(JI,1)= 0.05
367  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_ALBVIS_VEG(JI,1)= 0.05
368  IF (NVT_FLTR>0) THEN
369    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_ALBVIS_VEG(JI,1) = 0.05
370  ENDIF
371
372  ZDATA_ALBUV_VEG (JI,:)= 0.06
373  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_ALBUV_VEG(JI,1)= 0.0525
374  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_ALBUV_VEG(JI,1)= 0.0525
375  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_ALBUV_VEG(JI,1)= 0.0525
376  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_ALBUV_VEG(JI,1)= 0.0525
377  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_ALBUV_VEG(JI,1)= 0.0525
378  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_ALBUV_VEG(JI,1)= 0.0425
379  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_ALBUV_VEG(JI,1)= 0.0425
380  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_ALBUV_VEG(JI,1)= 0.0425
381  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_ALBUV_VEG(JI,1)= 0.0380 
382  IF (NVT_FLTR>0) THEN
383    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_ALBUV_VEG(JI,1) = 0.0525
384  ENDIF 
385  IF(DTV%XPAR_VEGTYPE(JI,NVT_GRAS)>0. )  ZDATA_ALBUV_VEG(JI,2)= 0.0800
386  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOGR)>0. )  ZDATA_ALBUV_VEG(JI,2)= 0.0800 
387  IF(DTV%XPAR_VEGTYPE(JI,NVT_TROG)>0. )  ZDATA_ALBUV_VEG(JI,2)= 0.1250
388  IF (NVT_IRR>0) THEN
389    IF(DTV%XPAR_VEGTYPE(JI,NVT_IRR )>0. )  ZDATA_ALBUV_VEG(JI,2)= 0.0450
390  ENDIF
391  IF (NVT_PARK>0) THEN
392    IF(DTV%XPAR_VEGTYPE(JI,NVT_PARK)>0. )  ZDATA_ALBUV_VEG(JI,2)= 0.0450
393  ELSEIF (NVT_FLGR>0) THEN
394    IF(DTV%XPAR_VEGTYPE(JI,NVT_FLGR)>0. )  ZDATA_ALBUV_VEG(JI,2)= 0.0450
395  ENDIF
396
397  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.) THEN
398   DTV%XPAR_ALBNIR_VEG(JI,1,1) =  ( ZDATA_ALBNIR_VEG(JI,1)*DTV%XPAR_FRAC_HVEG(JI)   &
399                             + ZDATA_ALBNIR_VEG(JI,2)*DTV%XPAR_FRAC_LVEG(JI) ) &
400                           / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI)    )  
401 !
402   DTV%XPAR_ALBVIS_VEG(JI,1,1) =  ( ZDATA_ALBVIS_VEG(JI,1)*DTV%XPAR_FRAC_HVEG(JI)   &
403                             + ZDATA_ALBVIS_VEG(JI,2)*DTV%XPAR_FRAC_LVEG(JI) ) &
404                           / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI)    )  
405
406   DTV%XPAR_ALBUV_VEG (JI,1,1) =  ( ZDATA_ALBUV_VEG (JI,1)*DTV%XPAR_FRAC_HVEG(JI)   &
407                             + ZDATA_ALBUV_VEG (JI,2)*DTV%XPAR_FRAC_LVEG(JI) ) &
408                           / ( DTV%XPAR_FRAC_HVEG (JI)+DTV%XPAR_FRAC_LVEG(JI)   )  
409  ENDIF 
410 !
411 ! Min stomatal resistance
412  ZDATA_RSMIN(JI,:)= 40.
413  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_RSMIN(JI,1)= 150.
414  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_RSMIN(JI,1)= 150.
415  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_RSMIN(JI,1)= 150.
416  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_RSMIN(JI,1)= 150.
417  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_RSMIN(JI,1)= 150.
418  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_RSMIN(JI,1)= 150.
419  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_RSMIN(JI,1)= 150.
420  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_RSMIN(JI,1)= 150.
421  IF (NVT_FLTR>0) THEN
422    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_RSMIN(JI,1) = 150.
423  ENDIF 
424  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_RSMIN(JI,1)= XEVERG_RSMIN
425  IF(DTV%XPAR_VEGTYPE(JI,NVT_TROG)>0. )  ZDATA_RSMIN(JI,2)= 120.
426  IF(DTV%XPAR_VEGTYPE(JI,NVT_C4  )>0. )  ZDATA_RSMIN(JI,2)= 120.
427  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)              &
428     DTV%XPAR_RSMIN(JI,1) =  ( ZDATA_RSMIN(JI,1)*DTV%XPAR_FRAC_HVEG(JI)     &
429                        + ZDATA_RSMIN(JI,2)*DTV%XPAR_FRAC_LVEG(JI)   ) &
430                      / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) )  
431 !
432 ! Gamma parameter
433  ZDATA_GAMMA(JI,:)= 0.
434  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_GAMMA(JI,1)= 0.04
435  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_GAMMA(JI,1)= 0.04
436  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_GAMMA(JI,1)= 0.04
437  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_GAMMA(JI,1)= 0.04
438  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_GAMMA(JI,1)= 0.04
439  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_GAMMA(JI,1)= 0.04
440  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_GAMMA(JI,1)= 0.04
441  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_GAMMA(JI,1)= 0.04
442  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_GAMMA(JI,1)= 0.04
443  IF (NVT_FLTR>0) THEN
444    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_GAMMA(JI,1) = 0.04
445  ENDIF 
446  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)              &
447     DTV%XPAR_GAMMA(JI,1) =  ( ZDATA_GAMMA(JI,1)*DTV%XPAR_FRAC_HVEG(JI)     &
448                        + ZDATA_GAMMA(JI,2)*DTV%XPAR_FRAC_LVEG(JI)   ) &
449                      / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) )  
450 !
451 ! Wrmax_cf
452  ZDATA_WRMAX_CF(JI,:)= 0.2
453  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_WRMAX_CF(JI,1)= 0.1
454  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_WRMAX_CF(JI,1)= 0.1
455  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_WRMAX_CF(JI,1)= 0.1
456  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_WRMAX_CF(JI,1)= 0.1
457  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_WRMAX_CF(JI,1)= 0.1
458  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_WRMAX_CF(JI,1)= 0.1
459  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_WRMAX_CF(JI,1)= 0.1
460  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_WRMAX_CF(JI,1)= 0.1
461  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_WRMAX_CF(JI,1)= 0.1
462  IF (NVT_FLTR>0) THEN
463    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_WRMAX_CF(JI,1) = 0.1
464  ENDIF 
465  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)                    &
466     DTV%XPAR_WRMAX_CF(JI,1) =  ( ZDATA_WRMAX_CF(JI,1)*DTV%XPAR_FRAC_HVEG(JI)     &
467                           + ZDATA_WRMAX_CF(JI,2)*DTV%XPAR_FRAC_LVEG(JI)   ) &
468                         / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI)    )  
469 !
470 ! Rgl
471  ZDATA_RGL(JI,:)= 100.
472  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_RGL(JI,1)= 30.
473  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_RGL(JI,1)= 30.
474  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_RGL(JI,1)= 30.
475  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_RGL(JI,1)= 30.
476  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_RGL(JI,1)= 30.
477  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_RGL(JI,1)= 30.
478  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_RGL(JI,1)= 30.
479  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_RGL(JI,1)= 30.
480  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_RGL(JI,1)= 30.
481  IF (NVT_FLTR>0) THEN
482    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_RGL(JI,1) = 30.
483  ENDIF 
484  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)            &
485     DTV%XPAR_RGL(JI,1) =  ( ZDATA_RGL(JI,1)*DTV%XPAR_FRAC_HVEG(JI)       &
486                      + ZDATA_RGL(JI,2)*DTV%XPAR_FRAC_LVEG(JI)     ) &
487                    / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) )  
488 !
489 ! Cv
490  ZDATA_CV(JI,:)= 2.E-5
491  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_CV(JI,1)= 1.E-5
492  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_CV(JI,1)= 1.E-5
493  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_CV(JI,1)= 1.E-5
494  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_CV(JI,1)= 1.E-5
495  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_CV(JI,1)= 1.E-5
496  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_CV(JI,1)= 1.E-5
497  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_CV(JI,1)= 1.E-5
498  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_CV(JI,1)= 1.E-5
499  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_CV(JI,1)= 1.E-5
500  IF (NVT_FLTR>0) THEN
501    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_CV(JI,1) = 1.E-5
502  ENDIF 
503  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)           &
504     DTV%XPAR_CV(JI,1) =  ( ZDATA_CV(JI,1)*DTV%XPAR_FRAC_HVEG(JI)        &
505                     + ZDATA_CV(JI,2)*DTV%XPAR_FRAC_LVEG(JI)      ) &
506                   / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) )  
507 !
508 ! Mesophyll conductance (m s-1)
509  ZDATA_GMES(JI,:)=0.020
510  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_GMES(JI,1)= 0.001
511  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_GMES(JI,1)= 0.001
512  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_GMES(JI,1)= 0.001
513  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_GMES(JI,1)= 0.001
514  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_GMES(JI,1)= 0.001
515  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_GMES(JI,1)= 0.001
516  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_GMES(JI,1)= 0.001
517  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_GMES(JI,1)= 0.001
518  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_GMES(JI,1)= 0.001
519  IF (NVT_FLTR>0) THEN
520    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_GMES(JI,1) = 0.001
521  ENDIF 
522  IF (NVT_C3>0) THEN
523    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3  )>0. )  ZDATA_GMES(JI,2)= 0.003
524  ENDIF
525  IF (NVT_C3W>0) THEN
526    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3W )>0. )  ZDATA_GMES(JI,2)= 0.003
527  ENDIF
528  IF (NVT_C3S>0) THEN
529    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3S )>0. )  ZDATA_GMES(JI,2)= 0.003
530  ENDIF
531  IF(DTV%XPAR_VEGTYPE(JI,NVT_C4  )>0. )  ZDATA_GMES(JI,2)= 0.003
532  IF (NVT_IRR>0) THEN
533    IF(DTV%XPAR_VEGTYPE(JI,NVT_IRR )>0. )  ZDATA_GMES(JI,2)= 0.003
534  ENDIF
535  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)             &
536     DTV%XPAR_GMES(JI,1) =  ( ZDATA_GMES(JI,1)*DTV%XPAR_FRAC_HVEG(JI)      &
537                       + ZDATA_GMES(JI,2)*DTV%XPAR_FRAC_LVEG(JI)    ) &
538                     / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) )  
539 !
540 ! Ecosystem Respiration (kg/kg.m.s-1)
541  ZDATA_RE25(JI,:)= 3.0E-7 
542  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_RE25(JI,1)= 1.5E-7
543  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_RE25(JI,1)= 1.5E-7
544  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_RE25(JI,1)= 1.5E-7
545  IF(DTV%XPAR_VEGTYPE(JI,NVT_C4  )>0. )  ZDATA_RE25(JI,2)= 2.5E-7
546  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)             &
547     DTV%XPAR_RE25(JI,1) =  ( ZDATA_RE25(JI,1)*DTV%XPAR_FRAC_HVEG(JI)      &
548                       + ZDATA_RE25(JI,2)*DTV%XPAR_FRAC_LVEG(JI)    ) &
549                     / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) )  
550 !
551 ! Cuticular conductance (m s-1)
552  ZDATA_GC(JI,:)=0.00025
553  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_GC(JI,1)= 0.00015
554  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_GC(JI,1)= 0.00015
555  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_GC(JI,1)= 0.00015
556  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_GC(JI,1)= 0.00015
557  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_GC(JI,1)= 0.00015
558  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_GC(JI,1)= 0.
559  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_GC(JI,1)= 0.
560  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_GC(JI,1)= 0.
561  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_GC(JI,1)= 0.00015  
562  IF (NVT_FLTR>0) THEN
563    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_GC(JI,1) = 0.00015
564  ENDIF 
565  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)           &
566     DTV%XPAR_GC(JI,1) =  ( ZDATA_GC(JI,1)*DTV%XPAR_FRAC_HVEG(JI)        &
567                     + ZDATA_GC(JI,2)*DTV%XPAR_FRAC_LVEG(JI)      ) &
568                   / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) )  
569 !
570 ! Ratio d(biomass)/d(lai) (kg/m2)
571  ZDATA_BSLAI(JI,:)=0.36 
572  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_BSLAI(JI,1)= 0.25
573  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_BSLAI(JI,1)= 0.25
574  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_BSLAI(JI,1)= 0.25
575  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_BSLAI(JI,1)= 0.25
576  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_BSLAI(JI,1)= 0.25
577  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_BSLAI(JI,1)= 0.25
578  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_BSLAI(JI,1)= 0.25
579  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_BSLAI(JI,1)= 0.25
580  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_BSLAI(JI,1)= 0.25
581  IF (NVT_FLTR>0) THEN
582    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_BSLAI(JI,1) = 0.25
583  ENDIF 
584  IF (NVT_C3>0) THEN
585    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3  )>0. )  ZDATA_BSLAI(JI,2)= 0.06
586  ENDIF
587  IF (NVT_C3W>0) THEN
588    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3W )>0. )  ZDATA_BSLAI(JI,2)= 0.06
589  ENDIF
590  IF (NVT_C3S>0) THEN
591    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3S )>0. )  ZDATA_BSLAI(JI,2)= 0.06
592  ENDIF
593  IF(DTV%XPAR_VEGTYPE(JI,NVT_C4  )>0. )  ZDATA_BSLAI(JI,2)= 0.06
594  IF (NVT_IRR>0) THEN
595    IF(DTV%XPAR_VEGTYPE(JI,NVT_IRR )>0. )  ZDATA_BSLAI(JI,2)= 0.06
596  ENDIF
597  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)              &
598     DTV%XPAR_BSLAI(JI,1) =  ( ZDATA_BSLAI(JI,1)*DTV%XPAR_FRAC_HVEG(JI)     &
599                        + ZDATA_BSLAI(JI,2)*DTV%XPAR_FRAC_LVEG(JI)   ) &
600                      / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) )  
601 !
602 ! Maximum air saturation deficit tolerate by vegetation (kg/kg)
603  ZDATA_DMAX(JI,:) = 0.1
604  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_DMAX(JI,1)= 0.1
605  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_DMAX(JI,1)= 0.1
606  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_DMAX(JI,1)= 0.1
607  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_DMAX(JI,1)= 0.1
608  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_DMAX(JI,1)= 0.1
609  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_DMAX(JI,1)= 0.1
610  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_DMAX(JI,1)= 0.1
611  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_DMAX(JI,1)= 0.1
612  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_DMAX(JI,1)= 0.1
613  IF (NVT_FLTR>0) THEN
614    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_DMAX(JI,1) = 0.1
615  ENDIF 
616  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)             &
617     DTV%XPAR_DMAX(JI,1) =  ( ZDATA_DMAX(JI,1)*DTV%XPAR_FRAC_HVEG(JI)      &
618                       + ZDATA_DMAX(JI,2)*DTV%XPAR_FRAC_LVEG(JI)    ) &
619                     / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) )  
620 !
621 ! e-folding time for senescence (days)
622  ZDATA_SEFOLD(JI,:)=90. * XDAY
623  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_SEFOLD(JI,1)= 365.* XDAY
624  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_SEFOLD(JI,1)= 365.* XDAY
625  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_SEFOLD(JI,1)= 365.* XDAY
626  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_SEFOLD(JI,1)= 365.* XDAY
627  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_SEFOLD(JI,1)= 365.* XDAY
628  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_SEFOLD(JI,1)= 365.* XDAY
629  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_SEFOLD(JI,1)= 365.* XDAY
630  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_SEFOLD(JI,1)= 365.* XDAY
631  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_SEFOLD(JI,1)= 365.* XDAY
632  IF (NVT_FLTR>0) THEN
633    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_SEFOLD(JI,1) = 365.*XDAY
634  ENDIF 
635  IF (NVT_C3>0) THEN
636    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3  )>0. )  ZDATA_SEFOLD(JI,2)=  60.* XDAY
637  ENDIF
638  IF (NVT_C3W>0) THEN
639    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3W )>0. )  ZDATA_SEFOLD(JI,2)=  60.* XDAY
640  ENDIF 
641  IF (NVT_C3S>0) THEN
642    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3S )>0. )  ZDATA_SEFOLD(JI,2)=  60.* XDAY
643  ENDIF
644  IF(DTV%XPAR_VEGTYPE(JI,NVT_C4  )>0. )  ZDATA_SEFOLD(JI,2)=  60.* XDAY
645  IF (NVT_IRR>0) THEN
646    IF(DTV%XPAR_VEGTYPE(JI,NVT_IRR )>0. )  ZDATA_SEFOLD(JI,2)=  60.* XDAY
647  ENDIF
648  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)                &
649     DTV%XPAR_SEFOLD(JI,1) =  ( ZDATA_SEFOLD(JI,1)*DTV%XPAR_FRAC_HVEG(JI)     &
650                         + ZDATA_SEFOLD(JI,2)*DTV%XPAR_FRAC_LVEG(JI)   ) &
651                       / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI)  )  
652 !
653 ! Minimum LAI (m2/m2)
654  ZDATA_LAIMIN (JI,:) = 0.3
655  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_LAIMIN(JI,1)= 1.0
656  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_LAIMIN(JI,1)= 1.0
657  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_LAIMIN(JI,1)= 1.0
658  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_LAIMIN(JI,1)= 1.0
659  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)                &
660     DTV%XPAR_LAIMIN(JI,1) =  ( ZDATA_LAIMIN(JI,1)*DTV%XPAR_FRAC_HVEG(JI)     &
661                         + ZDATA_LAIMIN(JI,2)*DTV%XPAR_FRAC_LVEG(JI)   ) &
662                       / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI)  )  
663 !
664 ! Leaf aera ratio sensitivity to nitrogen concentration
665  ZDATA_CE_NITRO(JI,:)=7.68
666  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_CE_NITRO(JI,1)= 4.83
667  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_CE_NITRO(JI,1)= 4.83
668  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_CE_NITRO(JI,1)= 4.83
669  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_CE_NITRO(JI,1)= 4.83
670  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_CE_NITRO(JI,1)= 4.83
671  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_CE_NITRO(JI,1)= 4.85
672  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_CE_NITRO(JI,1)= 4.85
673  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_CE_NITRO(JI,1)= 4.85
674  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_CE_NITRO(JI,1)= 4.83
675  IF (NVT_FLTR>0) THEN
676    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_CE_NITRO(JI,1) = 4.83
677  ENDIF 
678  IF (NVT_C3>0) THEN
679    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3  )>0. )  ZDATA_CE_NITRO(JI,2)= 3.79
680  ENDIF
681  IF (NVT_C3W>0) THEN
682    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3W )>0. )  ZDATA_CE_NITRO(JI,2)= 3.79
683  ENDIF 
684  IF (NVT_C3S>0) THEN
685    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3S )>0. )  ZDATA_CE_NITRO(JI,2)= 3.79
686  ENDIF
687  IF(DTV%XPAR_VEGTYPE(JI,NVT_GRAS)>0. )  ZDATA_CE_NITRO(JI,2)= 5.56
688  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOGR)>0. )  ZDATA_CE_NITRO(JI,2)= 5.56
689  IF (NVT_PARK>0) THEN
690    IF(DTV%XPAR_VEGTYPE(JI,NVT_PARK)>0. )  ZDATA_CE_NITRO(JI,2)= 5.56
691  ELSEIF (NVT_FLGR>0) THEN
692    IF(DTV%XPAR_VEGTYPE(JI,NVT_FLGR)>0. )  ZDATA_CE_NITRO(JI,2)= 5.56
693  ENDIF
694  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)                    &
695     DTV%XPAR_CE_NITRO(JI,1) =  ( ZDATA_CE_NITRO(JI,1)*DTV%XPAR_FRAC_HVEG(JI)     &
696                           + ZDATA_CE_NITRO(JI,2)*DTV%XPAR_FRAC_LVEG(JI)   ) &
697                         / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI)    )  
698 !
699 ! Lethal minimum value of leaf area ratio
700  ZDATA_CF_NITRO(JI,:)=-4.33
701  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_CF_NITRO(JI,1)= 2.53
702  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_CF_NITRO(JI,1)= 2.53
703  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_CF_NITRO(JI,1)= 2.53
704  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_CF_NITRO(JI,1)= 2.53
705  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_CF_NITRO(JI,1)= 2.53
706  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_CF_NITRO(JI,1)= -0.24
707  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_CF_NITRO(JI,1)= -0.24
708  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_CF_NITRO(JI,1)= -0.24
709  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_CF_NITRO(JI,1)= 0.12
710  IF (NVT_FLTR>0) THEN
711    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_CF_NITRO(JI,1) = 2.53
712  ENDIF 
713  IF (NVT_C3>0) THEN
714    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3  )>0. )  ZDATA_CF_NITRO(JI,2)=  9.84
715  ENDIF
716  IF (NVT_C3W>0) THEN
717    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3W )>0. )  ZDATA_CF_NITRO(JI,2)=  9.84
718  ENDIF
719  IF (NVT_C3S>0) THEN
720    IF(DTV%XPAR_VEGTYPE(JI,NVT_C3S )>0. )  ZDATA_CF_NITRO(JI,2)=  9.84
721  ENDIF
722  IF(DTV%XPAR_VEGTYPE(JI,NVT_GRAS)>0. )  ZDATA_CF_NITRO(JI,2)=  6.73
723  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOGR)>0. )  ZDATA_CF_NITRO(JI,2)=  6.73
724  IF (NVT_PARK>0) THEN
725    IF(DTV%XPAR_VEGTYPE(JI,NVT_PARK)>0. )  ZDATA_CF_NITRO(JI,2)=  6.73
726  ELSEIF (NVT_FLGR>0) THEN
727    IF(DTV%XPAR_VEGTYPE(JI,NVT_FLGR)>0. )  ZDATA_CF_NITRO(JI,2)=  6.73
728  ENDIF
729  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)                    &
730     DTV%XPAR_CF_NITRO(JI,1) =  ( ZDATA_CF_NITRO(JI,1)*DTV%XPAR_FRAC_HVEG(JI)     &
731                           + ZDATA_CF_NITRO(JI,2)*DTV%XPAR_FRAC_LVEG(JI)   ) &
732                         / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI)    )  
733 !
734 ! Nitrogen concentration of active biomass
735  ZDATA_CNA_NITRO(JI,:)=1.3
736  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_CNA_NITRO(JI,1)= 2.0
737  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_CNA_NITRO(JI,1)= 2.0
738  IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_CNA_NITRO(JI,1)= 2.0
739  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_CNA_NITRO(JI,1)= 2.0
740  IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_CNA_NITRO(JI,1)= 2.0
741  IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_CNA_NITRO(JI,1)= 2.8
742  IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_CNA_NITRO(JI,1)= 2.8
743  IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_CNA_NITRO(JI,1)= 2.8
744  IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_CNA_NITRO(JI,1)= 1.7
745  IF (NVT_FLTR>0) THEN
746    IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_CNA_NITRO(JI,1) = 2.0
747  ENDIF 
748  IF(DTV%XPAR_VEGTYPE(JI,NVT_C4  )>0. )  ZDATA_CNA_NITRO(JI,2)= 1.9
749  IF (NVT_IRR>0) THEN
750    IF(DTV%XPAR_VEGTYPE(JI,NVT_IRR )>0. )  ZDATA_CNA_NITRO(JI,2)= 1.9
751  ENDIF
752  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)                      &
753     DTV%XPAR_CNA_NITRO(JI,1) =  ( ZDATA_CNA_NITRO(JI,1)*DTV%XPAR_FRAC_HVEG(JI)     &
754                            + ZDATA_CNA_NITRO(JI,2)*DTV%XPAR_FRAC_LVEG(JI)   ) &
755                          / ( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI)     )  
756 !
757 ! Ground layers
758  IF (IO%NGROUND_LAYER<=3) THEN
759    ZDATA_DG(JI,1,:) = 0.01
760    ZDATA_DG(JI,2,:) = 1.50
761    IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_DG(JI,2,1)= 2.0
762    IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_DG(JI,2,1)= 2.0
763    IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_DG(JI,2,1)= 2.0
764    IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_DG(JI,2,1)= 2.0
765    IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_DG(JI,2,1)= 2.0
766    IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_DG(JI,2,1)= 2.0
767    IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_DG(JI,2,1)= 2.0
768    IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_DG(JI,2,1)= 2.0
769    IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_DG(JI,2,1)= 2.0
770    IF (NVT_FLTR>0) THEN
771      IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_DG(JI,2,1) = 2.0
772    ENDIF 
773    !
774    IF(DTV%XPAR_VEGTYPE(JI,NVT_NO  )>0. )  ZDATA_DG(JI,2,3)= 0.5
775    IF(DTV%XPAR_VEGTYPE(JI,NVT_ROCK)>0. )  ZDATA_DG(JI,2,3)= 0.5
776    IF(DTV%XPAR_VEGTYPE(JI,NVT_SNOW)>0. )  ZDATA_DG(JI,2,3)= 0.5
777    !
778    IF (IO%NGROUND_LAYER==3) THEN
779       ZDATA_DG(JI,3,:) = 2.00
780       IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBD)>0. )  ZDATA_DG(JI,3,1)= 3.0
781       IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBD)>0. )  ZDATA_DG(JI,3,1)= 3.0
782       IF(DTV%XPAR_VEGTYPE(JI,NVT_TEBE)>0. )  ZDATA_DG(JI,3,1)= 3.0
783       IF(DTV%XPAR_VEGTYPE(JI,NVT_BOBD)>0. )  ZDATA_DG(JI,3,1)= 3.0
784       IF(DTV%XPAR_VEGTYPE(JI,NVT_SHRB)>0. )  ZDATA_DG(JI,3,1)= 3.0
785       IF(DTV%XPAR_VEGTYPE(JI,NVT_BONE)>0. )  ZDATA_DG(JI,3,1)= 3.0
786       IF(DTV%XPAR_VEGTYPE(JI,NVT_TENE)>0. )  ZDATA_DG(JI,3,1)= 3.0
787       IF(DTV%XPAR_VEGTYPE(JI,NVT_BOND)>0. )  ZDATA_DG(JI,3,1)= 3.0
788       IF(DTV%XPAR_VEGTYPE(JI,NVT_TRBE)>0. )  ZDATA_DG(JI,3,1)= 3.0
789       IF (NVT_FLTR>0) THEN
790         IF (DTV%XPAR_VEGTYPE(JI,NVT_FLTR)>0.) ZDATA_DG(JI,3,1) = 3.0
791       ENDIF 
792       !
793       IF(DTV%XPAR_VEGTYPE(JI,NVT_NO  )>0. )  ZDATA_DG(JI,3,3)= 1.0
794       IF(DTV%XPAR_VEGTYPE(JI,NVT_ROCK)>0. )  ZDATA_DG(JI,3,3)= 1.0
795       IF(DTV%XPAR_VEGTYPE(JI,NVT_SNOW)>0. )  ZDATA_DG(JI,3,3)= 1.0
796    ENDIF
797    DTV%XPAR_DG(JI,:,1) =    ZDATA_DG(JI,:,1)*DTV%XPAR_FRAC_HVEG(JI)   &
798                        + ZDATA_DG(JI,:,2)*DTV%XPAR_FRAC_LVEG(JI) &
799                        + ZDATA_DG(JI,:,3)*DTV%XPAR_FRAC_NVEG(JI)  
800  ELSEIF (IO%NGROUND_LAYER<=NOPTIMLAYER) THEN
801    DTV%XPAR_DG(JI,:,1) = XOPTIMGRID(:)
802  ELSE
803    CALL ABOR1_SFX("READ_PGD_TEB_GARDEN_PAR: WITH MORE THAN 14 SOIL LAYERS, "//&
804      "WITHOUT ECOCLIMAP, GARDEN CANNOT RUN")
805  ENDIF 
806 !
807 ! Root fractions
808  DTV%XPAR_ROOTFRAC(JI,IO%NGROUND_LAYER,1) = 1.
809  DTV%XPAR_ROOTFRAC(JI,1,1) = 0.20
810  IF (IO%NGROUND_LAYER>2) THEN
811    DO JLAYER = IO%NGROUND_LAYER-1,2,-1
812      DTV%XPAR_ROOTFRAC(JI,JLAYER,1) = DTV%XPAR_ROOTFRAC(JI,JLAYER+1,1)-0.8/(IO%NGROUND_LAYER-1)
813    ENDDO
814  ENDIF
815 !
816  DTV%XPAR_DICE(JI,1) = DTV%XPAR_DG(JI,2,1)
817 !
818  DO JTIME=1,DTV%NTIME
819 ! Leaf Area Index
820  IF (DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI) .GT. 0.)                           &
821      DTV%XPAR_LAI     (JI,JTIME,1) = ( DTV%XPAR_LAI_HVEG(JI,JTIME)*DTV%XPAR_FRAC_HVEG(JI)  &
822                                 + DTV%XPAR_LAI_LVEG(JI,JTIME)*DTV%XPAR_FRAC_LVEG(JI)) &
823                                /( DTV%XPAR_FRAC_HVEG(JI)+DTV%XPAR_FRAC_LVEG(JI))  
824 ! Fraction of vegetation
825   DTV%XPAR_VEG     (JI,JTIME,1) = VEG_FROM_LAI  (DTV%XPAR_LAI    (JI,JTIME,1),       &
826                                             DTV%XPAR_VEGTYPE(JI,:),GAGRI_TO_GRASS)  
827 ! Roughness length for momentum
828   DTV%XPAR_Z0      (JI,JTIME,1) = Z0V_FROM_LAI  (DTV%XPAR_LAI    (JI,JTIME,1),       &
829                                             DTV%XPAR_H_TREE (JI,1),           &
830                                             DTV%XPAR_VEGTYPE(JI,:),GAGRI_TO_GRASS)  
831 ! Emissivity
832   DTV%XPAR_EMIS    (JI,JTIME,1) = EMIS_FROM_VEG (DTV%XPAR_VEG    (JI,JTIME,1),       &
833                                             DTV%XPAR_VEGTYPE(JI,:))
834  END DO
835 !
836 ENDDO
837 IF (LHOOK) CALL DR_HOOK('READ_PGD_TEB_GARDEN_PAR_N',1,ZHOOK_HANDLE)
838 !
839 !-------------------------------------------------------------------------------
840 !
841 END SUBROUTINE READ_PGD_TEB_GARDEN_PAR_n