SURFEX v8.1
General documentation of Surfex
convert_cover_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 ! #########
6  SUBROUTINE convert_cover_isba (DTCO, HALBEDO, &
7  HISBA,OTR_ML,KDECADE,PCOVER,OCOVER,HPHOTO, &
8  HSFTYPE,PVEG, &
9  PLAI,PRSMIN,PGAMMA,PWRMAX_CF, &
10  PRGL,PCV,PSOILGRID,PPERM, &
11  PDG,KWG_LAYER,PDROOT,PDG2, &
12  PD_ICE,PZ0,PZ0_O_Z0H, &
13  PALBNIR_VEG,PALBVIS_VEG,PALBUV_VEG, &
14  PEMIS_ECO, &
15  PVEGTYPE,PROOTFRAC, &
16  PGMES,PBSLAI,PLAIMIN,PSEFOLD,PGC, &
17  PDMAX, PF2I, OSTRESS, PH_TREE,PRE25,&
18  PCE_NITRO, PCF_NITRO, PCNA_NITRO, &
19  TPSEED, TPREAP, PWATSUP, PIRRIG, &
20  PGNDLITTER, PZ0LITTER, PH_VEG, &
21  OWATER_TO_NATURE, OTOWN_TO_ROCK, &
22  OGARDEN )
23 ! ##############################################################
24 !
25 !!**** *CONVERT_COVER* convert surface cover classes into secondary
26 !! physiographic variables for ISBA
27 !!
28 !! PURPOSE
29 !! -------
30 !!
31 !! METHOD
32 !! ------
33 !!
34 !! EXTERNAL
35 !! --------
36 !!
37 !! IMPLICIT ARGUMENTS
38 !! ------------------
39 !!
40 !! REFERENCE
41 !! ---------
42 !!
43 !! AUTHOR
44 !! ------
45 !!
46 !! V. Masson Meteo-France
47 !!
48 !! MODIFICATION
49 !! ------------
50 !!
51 !! Original 01/2004
52 !!
53 !! P Le Moigne 09/2005 AGS modifs of L. Jarlan
54 !! B. Decharme 04/2013 Add CDGAVG (average depth)
55 !! Soil depth = Root depth with ISBA-DF
56 !! except for bare soil pft (but limited to 1m)
57 !! P Samuelsson 10/2014 MEB
58 !----------------------------------------------------------------------------
59 !
60 !* 0. DECLARATION
61 ! -----------
62 !
64 !
75  xdata_stress, &
87 !
88 
89 
90 USE modd_data_cover_par, ONLY : nvegtype, jpcover, nvt_no, nvt_rock, nvt_snow, &
91  nvt_tebd, nvt_bone, nvt_trbe, nvt_c3, &
92  nvt_c4, nvt_irr, nvt_gras, nvt_trog, &
93  nvt_park, nvt_trbd, nvt_tebe, nvt_tene, &
94  nvt_bobd, nvt_bond, nvt_bogr, nvt_shrb, &
95  nvt_c3w, nvt_c3s, nvt_fltr, nvt_flgr
97 !
98 USE modi_av_pgd
99 USE modi_default_data_cover
100 USE modi_ini_data_param
101 !
102 USE modi_default_lai_eco2_y2002_01
103 USE modi_default_lai_eco2_y2002_02
104 USE modi_default_lai_eco2_y2002_03
105 USE modi_default_lai_eco2_y2002_04
106 USE modi_default_lai_eco2_y2002_05
107 USE modi_default_lai_eco2_y2002_06
108 USE modi_default_lai_eco2_y2002_07
109 USE modi_default_lai_eco2_y2002_08
110 USE modi_default_lai_eco2_y2002_09
111 USE modi_default_lai_eco2_y2002_10
112 USE modi_default_lai_eco2_y2002_11
113 USE modi_default_lai_eco2_y2002_12
114 USE modi_default_lai_eco2_y2002_13
115 USE modi_default_lai_eco2_y2002_14
116 USE modi_default_lai_eco2_y2002_15
117 USE modi_default_lai_eco2_y2002_16
118 USE modi_default_lai_eco2_y2002_17
119 USE modi_default_lai_eco2_y2002_18
120 USE modi_default_lai_eco2_y2002_19
121 !
122 USE modi_default_lai_eco2_y2003_01
123 USE modi_default_lai_eco2_y2003_02
124 USE modi_default_lai_eco2_y2003_03
125 USE modi_default_lai_eco2_y2003_04
126 USE modi_default_lai_eco2_y2003_05
127 USE modi_default_lai_eco2_y2003_06
128 USE modi_default_lai_eco2_y2003_07
129 USE modi_default_lai_eco2_y2003_08
130 USE modi_default_lai_eco2_y2003_09
131 USE modi_default_lai_eco2_y2003_10
132 USE modi_default_lai_eco2_y2003_11
133 USE modi_default_lai_eco2_y2003_12
134 USE modi_default_lai_eco2_y2003_13
135 USE modi_default_lai_eco2_y2003_14
136 USE modi_default_lai_eco2_y2003_15
137 USE modi_default_lai_eco2_y2003_16
138 USE modi_default_lai_eco2_y2003_17
139 USE modi_default_lai_eco2_y2003_18
140 USE modi_default_lai_eco2_y2003_19
141 !
142 USE modi_default_lai_eco2_y2004_01
143 USE modi_default_lai_eco2_y2004_02
144 USE modi_default_lai_eco2_y2004_03
145 USE modi_default_lai_eco2_y2004_04
146 USE modi_default_lai_eco2_y2004_05
147 USE modi_default_lai_eco2_y2004_06
148 USE modi_default_lai_eco2_y2004_07
149 USE modi_default_lai_eco2_y2004_08
150 USE modi_default_lai_eco2_y2004_09
151 USE modi_default_lai_eco2_y2004_10
152 USE modi_default_lai_eco2_y2004_11
153 USE modi_default_lai_eco2_y2004_12
154 USE modi_default_lai_eco2_y2004_13
155 USE modi_default_lai_eco2_y2004_14
156 USE modi_default_lai_eco2_y2004_15
157 USE modi_default_lai_eco2_y2004_16
158 USE modi_default_lai_eco2_y2004_17
159 USE modi_default_lai_eco2_y2004_18
160 USE modi_default_lai_eco2_y2004_19
161 !
162 USE modi_default_lai_eco2_y2005_01
163 USE modi_default_lai_eco2_y2005_02
164 USE modi_default_lai_eco2_y2005_03
165 USE modi_default_lai_eco2_y2005_04
166 USE modi_default_lai_eco2_y2005_05
167 USE modi_default_lai_eco2_y2005_06
168 USE modi_default_lai_eco2_y2005_07
169 USE modi_default_lai_eco2_y2005_08
170 USE modi_default_lai_eco2_y2005_09
171 USE modi_default_lai_eco2_y2005_10
172 USE modi_default_lai_eco2_y2005_11
173 USE modi_default_lai_eco2_y2005_12
174 USE modi_default_lai_eco2_y2005_13
175 USE modi_default_lai_eco2_y2005_14
176 USE modi_default_lai_eco2_y2005_15
177 USE modi_default_lai_eco2_y2005_16
178 USE modi_default_lai_eco2_y2005_17
179 USE modi_default_lai_eco2_y2005_18
180 USE modi_default_lai_eco2_y2005_19
181 !
182 USE modi_default_lai_eco2_y2006_01
183 USE modi_default_lai_eco2_y2006_02
184 USE modi_default_lai_eco2_y2006_03
185 USE modi_default_lai_eco2_y2006_04
186 USE modi_default_lai_eco2_y2006_05
187 USE modi_default_lai_eco2_y2006_06
188 USE modi_default_lai_eco2_y2006_07
189 USE modi_default_lai_eco2_y2006_08
190 USE modi_default_lai_eco2_y2006_09
191 USE modi_default_lai_eco2_y2006_10
192 USE modi_default_lai_eco2_y2006_11
193 USE modi_default_lai_eco2_y2006_12
194 USE modi_default_lai_eco2_y2006_13
195 USE modi_default_lai_eco2_y2006_14
196 USE modi_default_lai_eco2_y2006_15
197 USE modi_default_lai_eco2_y2006_16
198 USE modi_default_lai_eco2_y2006_17
199 USE modi_default_lai_eco2_y2006_18
200 USE modi_default_lai_eco2_y2006_19
201 !
202 USE modi_default_lai_eco1_01
203 USE modi_default_lai_eco1_02
204 USE modi_default_lai_eco1_03
205 USE modi_default_lai_eco1_04
206 USE modi_default_lai_eco1_05
207 USE modi_default_lai_eco1_06
208 USE modi_default_lai_eco1_07
209 USE modi_default_lai_eco1_08
210 USE modi_default_lai_eco1_09
211 USE modi_default_lai_eco1_10
212 USE modi_default_lai_eco1_11
213 USE modi_default_lai_eco1_12
214 USE modi_default_lai_eco1_13
215 USE modi_default_lai_eco1_14
216 USE modi_default_lai_eco1_15
217 USE modi_default_lai_eco1_16
218 USE modi_default_lai_eco1_17
219 USE modi_default_lai_eco1_18
220 USE modi_default_lai_eco1_19
221 !
222 USE modi_ecoclimap2_lai
223 !
224 USE yomhook ,ONLY : lhook, dr_hook
225 USE parkind1 ,ONLY : jprb
226 !
227 IMPLICIT NONE
228 !
229 !* 0.1 Declaration of arguments
230 ! ------------------------
231 !
232 !
233 TYPE(data_cover_t), INTENT(INOUT) :: DTCO
234 !
235  CHARACTER(LEN=*), INTENT(IN) :: HALBEDO
236  CHARACTER(LEN=*), INTENT(IN) :: HISBA ! type of soil (Force-Restore OR Diffusion)
237  LOGICAL, INTENT(IN) :: OTR_ML
238 INTEGER, INTENT(IN) :: KDECADE
239 REAL, DIMENSION(:,:), INTENT(IN) :: PCOVER
240 LOGICAL, DIMENSION(:), INTENT(IN) :: OCOVER
241  CHARACTER(LEN=*), INTENT(IN) :: HPHOTO ! type of photosynthesis
242  CHARACTER(LEN=*), INTENT(IN) :: HSFTYPE ! nature / garden
243 !
244 REAL, DIMENSION(:) , OPTIONAL, INTENT(IN) :: PSOILGRID
245 REAL, DIMENSION(:) , OPTIONAL, INTENT(IN) :: PPERM
246 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PVEG
247 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PLAI
248 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PRSMIN
249 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PGAMMA
250 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PWRMAX_CF
251 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PRGL
252 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PCV
253 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PDG
254 INTEGER, DIMENSION(:,:),OPTIONAL, INTENT(OUT) :: KWG_LAYER
255 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PDROOT
256 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PDG2
257 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PD_ICE
258 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PROOTFRAC
259 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PZ0
260 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PZ0_O_Z0H
261 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PALBNIR_VEG
262 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PALBVIS_VEG
263 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PALBUV_VEG
264 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PEMIS_ECO
265 !
266 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PGNDLITTER
267 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PZ0LITTER
268 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PH_VEG
269 !
270 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PVEGTYPE
271 !
272 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PGMES
273 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PRE25
274 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PBSLAI
275 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PLAIMIN
276 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PSEFOLD
277 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PGC
278 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PDMAX
279 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PF2I
280 LOGICAL, DIMENSION(:,:),OPTIONAL, INTENT(OUT) :: OSTRESS
281 !
282 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PH_TREE
283 !
284 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PCE_NITRO
285 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PCF_NITRO
286 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PCNA_NITRO
287 !
288 TYPE(date_time), DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: TPSEED
289 TYPE(date_time), DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: TPREAP
290 !
291 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PWATSUP
292 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PIRRIG
293 !
294 LOGICAL, OPTIONAL, INTENT(IN) :: OWATER_TO_NATURE
295 LOGICAL, OPTIONAL, INTENT(IN) :: OTOWN_TO_ROCK
296 LOGICAL, OPTIONAL, INTENT(IN) :: OGARDEN
297 !
298 !* 0.2 Declaration of local variables
299 ! ------------------------------
300 ! calculation of veg from lai in the pixel
301 !
302 TYPE(data_cover_t) :: YDTCO
303 !
304 REAL, DIMENSION (:,:), ALLOCATABLE :: ZWORK ! work array
305 REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZDATA_VEG, ZDATA_LAI, ZDATA_LAI_ALL_YEARS
306 REAL, DIMENSION(:,:), ALLOCATABLE :: ZDATA_VEGTYPE
307 !
308 REAL, DIMENSION (SIZE(OCOVER),NVEGTYPE) :: ZDATA_GROUND_DEPTH, ZDATA_ROOT_DEPTH, &
309  ZDATA_ROOT_LIN, ZDATA_ROOT_EXTINCTION
310 REAL, DIMENSION (SIZE(OCOVER),3,NVEGTYPE) :: ZDATA_DG
311 !
312  CHARACTER(LEN=3) :: YTREE, YNAT, YLAI, YVEG, YDIF
313 !
314 LOGICAL :: GWATER_TO_NATURE, GTOWN_TO_ROCK, GGARDEN
315 INTEGER :: JLAYER ! loop counter on surface layers
316 INTEGER :: JVEG, JP ! loop counter on vegetation types
317 !
318 REAL(KIND=JPRB) :: ZHOOK_HANDLE
319 !-------------------------------------------------------------------------------
320 !
321 !* 2. SECONDARY VARIABLES
322 ! -------------------
323 !
324 IF (lhook) CALL dr_hook('CONVERT_COVER_ISBA',0,zhook_handle)
325 !
326 gwater_to_nature = .false.
327 gtown_to_rock = .false.
328 IF (PRESENT(owater_to_nature)) gwater_to_nature = owater_to_nature
329 IF (PRESENT(otown_to_rock)) gtown_to_rock = otown_to_rock
330 IF (PRESENT(ogarden)) ggarden = ogarden
331 !
332 IF (ASSOCIATED(dtco%XDATA_WEIGHT)) DEALLOCATE(dtco%XDATA_WEIGHT)
333 !
334 IF (hsftype=='NAT') THEN
335  ynat='NAT'
336  ytree='TRE'
337  ylai='LAI'
338  yveg='VEG'
339  ydif='DVG'
340 ELSEIF (hsftype=='GRD'.OR.hsftype=='GD'.OR.hsftype=='GR') THEN
341  ynat='GRD'
342  ytree='GRT'
343  ylai='GRL'
344  yveg='GRV'
345  ydif='GDV'
346 ENDIF
347 !
348  CALL data_cover_init(ydtco)
349 ALLOCATE(ydtco%XDATA_VEGTYPE(SIZE(ocover),nvegtype))
350 ALLOCATE(ydtco%XDATA_NATURE(SIZE(ocover)))
351 ALLOCATE(ydtco%XDATA_GARDEN(SIZE(ocover)))
352 ALLOCATE(ydtco%XDATA_TOWN (SIZE(ocover)))
353 !
354 ! if we run with ECOSG, and the init file was done with ECOCLIMAP
355 IF (SIZE(ocover)/=SIZE(xdata_ground_depth,1)) THEN
356 
357  ALLOCATE(ydtco%XDATA_WATER (SIZE(ocover)))
358  CALL default_data_cover(pdata_vegtype=ydtco%XDATA_VEGTYPE, &
359  pdata_nature=ydtco%XDATA_NATURE,pdata_water=ydtco%XDATA_WATER,&
360  pdata_town=ydtco%XDATA_TOWN,pdata_garden=ydtco%XDATA_GARDEN,&
361  pdata_ground_depth=zdata_ground_depth,&
362  pdata_root_depth=zdata_root_depth)
363 
364  IF (gwater_to_nature) THEN
365  WHERE(ydtco%XDATA_WATER(:)<1.) ydtco%XDATA_NATURE(:) = ydtco%XDATA_NATURE(:) + ydtco%XDATA_WATER(:)
366  ENDIF
367 
368  ! save current values for these arrays
369  ALLOCATE(zdata_lai_all_years(SIZE(xdata_lai_all_years,1),SIZE(xdata_lai_all_years,2),SIZE(xdata_lai_all_years,3)))
370  ALLOCATE(zdata_vegtype(SIZE(xdata_vegtype,1),SIZE(xdata_vegtype,2)))
371  ALLOCATE(zdata_veg(SIZE(xdata_veg,1),SIZE(xdata_veg,2),SIZE(xdata_veg,3)))
372  ALLOCATE(zdata_lai(SIZE(xdata_lai,1),SIZE(xdata_lai,2),SIZE(xdata_lai,3)))
373  zdata_lai_all_years(:,:,:) = xdata_lai_all_years(:,:,:)
374  zdata_vegtype(:,:) = xdata_vegtype(:,:)
375  zdata_veg(:,:,:) = xdata_veg(:,:,:)
376  zdata_lai(:,:,:) = xdata_lai(:,:,:)
377 
379 
380  ! re-allocate official arrays
381  ALLOCATE(xdata_vegtype(SIZE(ydtco%XDATA_VEGTYPE,1),SIZE(ydtco%XDATA_VEGTYPE,2)))
382  ALLOCATE(xdata_veg(SIZE(ocover),36,nvegtype))
383  ALLOCATE(xdata_lai(SIZE(ocover),36,nvegtype))
384  ALLOCATE(xdata_lai_all_years(SIZE(ocover),36*5,nvegtype))
385  ! xdata_vegtype is used by DEFAULT_LAI....
386  xdata_vegtype(:,:) = ydtco%XDATA_VEGTYPE
387 !
407 
427 !
447 !
467 !
487 !
507 
508  nvt_c3w = 0
509  nvt_c3s = 0
510  nvt_fltr = 0
511  nvt_flgr = 0
512  nvt_no = 1 ! 1 ! no vegetation (smooth)
513  nvt_rock = 2 ! 2 ! no vegetation (rocks)
514  nvt_snow = 3 ! 3 ! permanent snow and ice
515  nvt_tebd = 4 ! 4 ! temperate broadleaf cold-deciduous summergreen (TREE)
516  nvt_bone = 5 ! 5 ! boreal needleleaf evergreen (CONI)
517  nvt_trbe = 6 ! 6 ! tropical broadleaf evergreen (EVER)
518  nvt_c3 = 7 ! 7 ! C3 cultures types
519  nvt_c4 = 8 ! 8 ! C4 cultures types
520  nvt_irr = 9 ! 9 ! irrigated crops
521  nvt_gras =10 !10 ! grassland
522  nvt_trog =11 !11 ! tropical grassland
523  nvt_park =12 !12 ! peat bogs, parks and gardens (irrigated grass)
524  nvt_trbd =13 ! 4 ! tropical broadleaf deciduous (TREE)
525  nvt_tebe =14 ! 4 ! temperate broadleaf evergreen (TREE)
526  nvt_tene =15 ! 5 ! temperate needleleaf evergreen (CONI)
527  nvt_bobd =16 ! 4 ! boreal broadleaf cold-deciduous summergreen (TREE)
528  nvt_bond =17 ! 5 ! boreal needleleaf cold-deciduous summergreen (CONI)
529  nvt_bogr =18 !10 ! boreal grass (GRAS)
530  nvt_shrb =19 ! 4 ! shrub (TREE)
531 
532  ! calculate XDATA_LAI
533  CALL ecoclimap2_lai(dtco%NYEAR)
534 
535  ! no more needed
537  ! we give back their values to data_lai_all_years dans data_vegtype
538  ALLOCATE(xdata_lai_all_years(SIZE(zdata_lai_all_years,1),SIZE(zdata_lai_all_years,2),SIZE(zdata_lai_all_years,3)))
539  ALLOCATE(xdata_vegtype(SIZE(zdata_vegtype,1),SIZE(zdata_vegtype,2)))
540  xdata_lai_all_years(:,:,:) = zdata_lai_all_years(:,:,:)
541  xdata_vegtype(:,:) = zdata_vegtype(:,:)
542  DEALLOCATE(zdata_lai_all_years,zdata_vegtype)
543  ! calculated XDATA_VEG
544  CALL ini_data_param(proot_lin=zdata_root_lin,proot_extinction=zdata_root_extinction, &
545  plai=xdata_lai,pveg_out=xdata_veg)
546 
547 ELSE
548  ydtco%XDATA_VEGTYPE(:,:) = dtco%XDATA_VEGTYPE(:,:)
549  ydtco%XDATA_NATURE(:) = dtco%XDATA_NATURE(:)
550  ydtco%XDATA_TOWN(:) = dtco%XDATA_TOWN(:)
551  ydtco%XDATA_GARDEN(:) = dtco%XDATA_GARDEN(:)
552  zdata_ground_depth(:,:) = xdata_ground_depth(:,:)
553  zdata_root_depth(:,:) = xdata_root_depth(:,:)
554  zdata_root_lin(:,:) = xdata_root_lin(:,:)
555  zdata_root_extinction(:,:) = xdata_root_extinction(:,:)
556 ENDIF
557 !
558 !* 2.1 fields on natural surfaces only, taking into account patches/
559 ! -------------------------------
560 !
561 !
562 ! Leaf Aera Index
563 ! ---------------
564 !
565 IF (PRESENT(plai)) THEN
566  CALL av_pgd(ydtco, plai ,pcover ,xdata_lai(:,kdecade,:),yveg,'ARI',ocover,kdecade=kdecade)
567 ENDIF
568 !
569 !* 1/Rsmin
570 !
571 IF (PRESENT(prsmin)) THEN
572  IF (SIZE(prsmin)>0) CALL av_pgd(ydtco, prsmin,pcover ,xdata_rsmin,ylai,'INV',ocover,kdecade=kdecade)
573 END IF
574 !
575 IF (PRESENT(ph_tree)) CALL av_pgd(ydtco, ph_tree ,pcover ,xdata_h_tree(:,:) ,ytree,'ARI',ocover)
576 !
577 DO jveg=1,nvegtype
578  IF (PRESENT(pvegtype)) CALL av_pgd(ydtco, pvegtype(:,jveg),pcover ,ydtco%XDATA_VEGTYPE(:,jveg),ynat,'ARI',ocover)
579 END DO
580 !
581 !
582 ! vegetation fraction
583 ! -------------------
584 !
585 IF (PRESENT(pveg)) CALL av_pgd(ydtco, pveg ,pcover ,xdata_veg(:,kdecade,:),ynat,'ARI',ocover)
586 !
587 !
588 IF (PRESENT(pgndlitter)) CALL av_pgd(ydtco, pgndlitter ,pcover ,xdata_gndlitter(:,kdecade,:),ynat,'ARI',ocover)
589 !
590 ! roughness length
591 ! ----------------
592 !
593 IF (PRESENT(pz0)) CALL av_pgd(ydtco, pz0 ,pcover ,xdata_z0(:,kdecade,:),ynat,'CDN',ocover)
594 !
595 IF (PRESENT(pz0_o_z0h)) CALL av_pgd(ydtco, pz0_o_z0h ,pcover ,xdata_z0_o_z0h(:,:),ynat,'ARI',ocover)
596 !
597 IF (PRESENT(pz0litter)) CALL av_pgd(ydtco, pz0litter ,pcover ,xdata_z0litter(:,kdecade,:),ynat,'CDN',ocover)
598 !
599 !emis-eco
600 !--------
601 !
602 IF (PRESENT(pemis_eco)) CALL av_pgd(ydtco, pemis_eco ,pcover ,xdata_emis_eco(:,kdecade,:),ynat,'ARI',ocover)
603 !
604 !---------------------------------------------------------------------------------
605 !
606 !* other vegetation parameters
607 !
608 IF (PRESENT(pgamma)) CALL av_pgd(ydtco, pgamma ,pcover ,xdata_gamma(:,:),yveg,'ARI',ocover,kdecade=kdecade)
609 !
610 IF (PRESENT(pwrmax_cf)) CALL av_pgd(ydtco, pwrmax_cf ,pcover ,xdata_wrmax_cf(:,:),yveg,'ARI',ocover,kdecade=kdecade)
611 !
612 IF (PRESENT(prgl)) CALL av_pgd(ydtco, prgl ,pcover ,xdata_rgl(:,:),yveg,'ARI',ocover,kdecade=kdecade)
613 IF (PRESENT(pcv)) CALL av_pgd(ydtco, pcv ,pcover ,xdata_cv(:,:),yveg,'INV',ocover,kdecade=kdecade)
614 !
615 IF (PRESENT(ph_veg)) THEN
616  CALL av_pgd(ydtco, ph_veg,pcover,xdata_h_veg(:,kdecade,:),yveg,'ARI',ocover,kdecade=kdecade)
617 ENDIF
618 !
619 
620 !
621 !---------------------------------------------------------------------------------
622 !
623 !* soil layers
624 ! -----------
625 !
626 IF (PRESENT(pdg)) THEN
627 !
628 !* soil layers (and cumulative root fraction for DIF only)
629 !
630  CALL set_cover_dg(SIZE(pdg,1),SIZE(pdg,2),SIZE(pdg,3),PRESENT(pperm),&
631  PRESENT(pdg2),PRESENT(pdroot),PRESENT(kwg_layer), &
632  PRESENT(prootfrac) )
633 !
634 END IF
635 !
636 !---------------------------------------------------------------------------------
637 !
638 !* soil ice for runoff
639 ! -------------------
640 !
641 IF (PRESENT(pd_ice)) CALL av_pgd(ydtco, pd_ice,pcover ,xdata_dice(:,:),ynat,'ARI',ocover)
642 !
643 !---------------------------------------------------------------------------------
644 !
645 IF (PRESENT(palbnir_veg)) THEN
646  IF (halbedo=='CM13') THEN
647  CALL av_pgd(ydtco, palbvis_veg,pcover,xdata_alb_veg_nir(:,kdecade,:),yveg,'ARI',ocover,kdecade=kdecade)
648  ELSE
649  CALL av_pgd(ydtco, palbnir_veg,pcover ,xdata_albnir_veg(:,:),yveg,'ARI',ocover,kdecade=kdecade)
650  ENDIF
651 ENDIF
652 !
653 IF (PRESENT(palbvis_veg)) THEN
654  IF (halbedo=='CM13') THEN
655  CALL av_pgd(ydtco, palbvis_veg,pcover,xdata_alb_veg_vis(:,kdecade,:),yveg,'ARI',ocover,kdecade=kdecade)
656  ELSE
657  CALL av_pgd(ydtco, palbvis_veg,pcover ,xdata_albvis_veg(:,:),yveg,'ARI',ocover,kdecade=kdecade)
658  ENDIF
659 ENDIF
660 !
661 IF (PRESENT(palbuv_veg)) THEN
662  IF ((halbedo=='CM13'.OR.otr_ml).AND.PRESENT(palbvis_veg)) THEN
663  palbuv_veg(:,:)=palbvis_veg(:,:)
664  ELSE
665  CALL av_pgd(ydtco, palbuv_veg, pcover ,xdata_albuv_veg(:,:),yveg,'ARI',ocover,kdecade=kdecade)
666  ENDIF
667 ENDIF
668 !
669 ! parameters for "stress option"
670 IF (hphoto /='NON' ) THEN
671 
672  IF (PRESENT(pgmes)) THEN
673  IF (SIZE(pgmes)>0) CALL av_pgd(ydtco, pgmes ,pcover ,xdata_gmes_st(:,:),yveg,'ARI',ocover,kdecade=kdecade)
674  END IF
675 
676  IF (PRESENT(pbslai)) THEN
677  IF (SIZE(pbslai)>0) CALL av_pgd(ydtco, pbslai ,pcover ,xdata_bslai_st(:,:),yveg,'ARI',ocover,kdecade=kdecade)
678  END IF
679 
680  IF (PRESENT(psefold)) THEN
681  IF (SIZE(psefold)>0) CALL av_pgd(ydtco, psefold,pcover ,xdata_sefold_st(:,:),yveg,'ARI',ocover,kdecade=kdecade)
682  END IF
683 
684  IF (PRESENT(pgc)) THEN
685  IF (SIZE(pgc)>0) CALL av_pgd(ydtco, pgc ,pcover ,xdata_gc_st(:,:),yveg,'ARI',ocover,kdecade=kdecade)
686  END IF
687 
688  IF (PRESENT(pdmax)) THEN
689  IF (SIZE(pdmax)>0) CALL av_pgd(ydtco, pdmax ,pcover ,xdata_dmax_st(:,:),ytree,'ARI',ocover,kdecade=kdecade)
690  END IF
691 
692 ELSE
693  IF (PRESENT(pgmes)) THEN
694  IF (SIZE(pgmes)>0) CALL av_pgd(ydtco, pgmes ,pcover ,xdata_gmes(:,:),yveg,'ARI',ocover,kdecade=kdecade)
695  END IF
696  IF (PRESENT(pbslai)) THEN
697  IF (SIZE(pbslai)>0) CALL av_pgd(ydtco, pbslai ,pcover ,xdata_bslai(:,:),yveg,'ARI',ocover,kdecade=kdecade)
698  END IF
699  IF (PRESENT(psefold)) THEN
700  IF (SIZE(psefold)>0) CALL av_pgd(ydtco, psefold,pcover ,xdata_sefold(:,:),yveg,'ARI',ocover,kdecade=kdecade)
701  END IF
702  IF (PRESENT(pgc)) THEN
703  IF (SIZE(pgc)>0) CALL av_pgd(ydtco, pgc ,pcover ,xdata_gc(:,:),yveg,'ARI',ocover,kdecade=kdecade)
704  END IF
705  IF (PRESENT(pdmax)) THEN
706  IF (SIZE(pdmax)>0) CALL av_pgd(ydtco, pdmax ,pcover ,xdata_dmax(:,:),ytree,'ARI',ocover,kdecade=kdecade)
707  END IF
708 
709 ENDIF
710 
711 IF (PRESENT(pre25)) THEN
712  IF (SIZE(pre25)>0) CALL av_pgd(ydtco, pre25 ,pcover ,xdata_re25(:,:),ynat,'ARI',ocover,kdecade=kdecade)
713 END IF
714 
715 IF (PRESENT(plaimin)) THEN
716  IF (SIZE(plaimin)>0) CALL av_pgd(ydtco, plaimin,pcover ,xdata_laimin(:,:),yveg,'ARI',ocover,kdecade=kdecade)
717 END IF
718 IF (PRESENT(pce_nitro)) THEN
719  IF (SIZE(pce_nitro)>0) &
720  CALL av_pgd(ydtco, pce_nitro ,pcover ,xdata_ce_nitro(:,:),yveg,'ARI',ocover,kdecade=kdecade)
721 END IF
722 IF (PRESENT(pcf_nitro)) THEN
723  IF (SIZE(pcf_nitro)>0) CALL av_pgd(ydtco, pcf_nitro ,pcover ,xdata_cf_nitro(:,:),yveg,'ARI',ocover,kdecade=kdecade)
724 END IF
725 IF (PRESENT(pcna_nitro)) THEN
726  IF (SIZE(pcna_nitro)>0) CALL av_pgd(ydtco, pcna_nitro ,pcover ,xdata_cna_nitro(:,:),yveg,'ARI',ocover,kdecade=kdecade)
727 END IF
728 IF (PRESENT(pf2i)) THEN
729  IF (SIZE(pf2i)>0) CALL av_pgd(ydtco, pf2i ,pcover ,xdata_f2i(:,:),yveg,'ARI',ocover,kdecade=kdecade)
730 END IF
731 !
732 IF (PRESENT(ostress)) THEN
733  IF (SIZE(ostress)>0) THEN
734  ALLOCATE(zwork(SIZE(ostress,1),SIZE(ostress,2)))
735  CALL av_pgd(ydtco, zwork,pcover ,xdata_stress(:,:),yveg,'ARI',ocover,kdecade=kdecade)
736  WHERE (zwork<0.5)
737  ostress = .false.
738  ELSEWHERE
739  ostress = .true.
740  END WHERE
741  DEALLOCATE(zwork)
742  END IF
743 END IF
744 !
745 IF (hphoto == 'NIT' .OR. hphoto=='NCB') THEN
746  !
747  ! date of seeding
748  ! ---------------
749  !
750  IF (PRESENT(tpseed)) THEN
751  IF (SIZE(tpseed)>0) &
752  CALL av_pgd (tpseed ,pcover ,tdata_seed(:,:),yveg,'MAJ',ocover,kdecade=kdecade)
753  END IF
754  !
755  ! date of reaping
756  ! ---------------
757  !
758  IF (PRESENT(tpreap)) THEN
759  IF (SIZE(tpreap)>0) &
760  CALL av_pgd (tpreap ,pcover ,tdata_reap(:,:),yveg,'MAJ',ocover,kdecade=kdecade)
761  END IF
762  !
763  ! fraction of irrigated surface
764  ! ---------------------------
765  !
766  IF (PRESENT(pirrig)) THEN
767  IF (SIZE(pirrig)>0) &
768  CALL av_pgd(ydtco, pirrig ,pcover ,xdata_irrig(:,:),yveg,'ARI',ocover,kdecade=kdecade)
769  END IF
770  !
771  ! water supply for irrigation
772  ! ---------------------------
773  !
774  IF (PRESENT(pwatsup)) THEN
775  IF (SIZE(pwatsup)>0) &
776  CALL av_pgd(ydtco, pwatsup ,pcover ,xdata_watsup(:,:),yveg,'ARI',ocover,kdecade=kdecade)
777  END IF
778 !
779 END IF
780 !
781 IF (ASSOCIATED(ydtco%XDATA_WEIGHT)) DEALLOCATE(ydtco%XDATA_WEIGHT)
782 !
783 ! if we run with ECOSG, and the init file was done with ECOCLIMAP
784 IF (SIZE(ocover)/=SIZE(xdata_ground_depth,1)) THEN
785  nvt_c3 = 0
786  nvt_park = 0
787  nvt_irr = 0
788  nvt_no = 1 ! 1 ! no vegetation (smooth)
789  nvt_rock = 2 ! 2 ! no vegetation (rocks)
790  nvt_snow = 3 ! 3 ! permanent snow and ice
791  nvt_bobd = 4 ! 4 ! boreal broadleaf cold-deciduous summergreen (TREE)
792  nvt_tebd = 5 ! 4 ! temperate broadleaf cold-deciduous summergreen (TREE)
793  nvt_trbd = 6 ! 4 ! tropical broadleaf deciduous (TREE)
794  nvt_tebe = 7 ! 4 ! temperate broadleaf evergreen (TREE)
795  nvt_trbe = 8 ! 6 ! tropical broadleaf evergreen (EVER)
796  nvt_bone = 9 ! 5 ! boreal needleleaf evergreen (CONI)
797  nvt_tene =10 ! 5 ! temperate needleleaf evergreen (CONI)
798  nvt_bond =11 ! 5 ! boreal needleleaf cold-deciduous summergreen (CONI)
799  nvt_shrb =12 ! 4 ! shrub (TREE)
800  nvt_bogr =13 !10 ! boreal grass (GRAS)
801  nvt_gras =14 !10 ! grassland
802  nvt_trog =15 !11 ! tropical grassland
803  nvt_c3w =16 ! 7 ! C3W cultures types
804  nvt_c3s =17 ! 7 ! C3S cultures types
805  nvt_c4 =18 ! 8 ! C4 cultures types
806  nvt_fltr =19 !12 ! flooded trees
807  nvt_flgr =20 !12 ! flooded grassland
808 
809  DEALLOCATE(xdata_veg,xdata_lai)
810  ALLOCATE(xdata_veg(SIZE(zdata_veg,1),SIZE(zdata_veg,2),SIZE(zdata_veg,3)))
811  ALLOCATE(xdata_lai(SIZE(zdata_lai,1),SIZE(zdata_lai,2),SIZE(zdata_lai,3)))
812  xdata_veg(:,:,:) = zdata_veg(:,:,:)
813  xdata_lai(:,:,:) = zdata_lai(:,:,:)
814  DEALLOCATE(zdata_lai,zdata_veg)
815 
816 ENDIF
817 !
818  CALL data_cover_init(ydtco)
819 !
820 IF (lhook) CALL dr_hook('CONVERT_COVER_ISBA',1,zhook_handle)
821 !
822 !-------------------------------------------------------------------------------
823 CONTAINS
824 !-------------------------------------------------------------------------------
825 !
826 SUBROUTINE set_cover_dg(KNI,KGROUND,KPATCH,LPERM,LDG2,LDROOT,LWG_LAYER,LROOTFRAC )
827 !
828 USE modd_surf_par, ONLY : xundef, nundef
829 !
830 USE modd_reprod_oper, ONLY : cdgavg, cdgdif
831 !
832 USE modi_ini_data_rootfrac
833 USE modi_ini_data_soil
835 !
836 IMPLICIT NONE
837 !
838 INTEGER, INTENT(IN) :: KNI
839 INTEGER, INTENT(IN) :: KGROUND
840 INTEGER, INTENT(IN) :: KPATCH
841 LOGICAL, INTENT(IN) :: LPERM
842 LOGICAL, INTENT(IN) :: LDG2
843 LOGICAL, INTENT(IN) :: LDROOT
844 LOGICAL, INTENT(IN) :: LWG_LAYER
845 LOGICAL, INTENT(IN) :: LROOTFRAC
846 !
847 INTEGER, DIMENSION (KNI,KPATCH) :: IWG_LAYER
848 REAL, DIMENSION (KNI,KPATCH) :: ZDTOT, ZDROOT ! work array
849 REAL, DIMENSION (KNI,KPATCH) :: ZROOT_EXT ! "
850 REAL, DIMENSION (KNI,KPATCH) :: ZROOT_LIN ! "
851 !
852 INTEGER :: JPATCH, JJ, JVEGTYPE, JP
853 !
854 REAL(KIND=JPRB) :: ZHOOK_HANDLE
855 !
856 IF (lhook) CALL dr_hook('CONVERT_COVER_ISBA:SET_COVER_DG',0,zhook_handle)
857 !
858 zdtot(:,:) = xundef
859 zdroot(:,:) = xundef
860 zroot_ext(:,:) = xundef
861 zroot_lin(:,:) = xundef
862 iwg_layer(:,:) = nundef
863 !
864 !####################################################################################
865 !
866 !CDGAVG : old for reprod = 'ARI' Arithmetic average for all depth
867 ! recommended = 'INV' Harmonic average for all depth (default)
868 !
869 !CDGDIF : old for reprod = 'SOIL' d3 soil depth from ecoclimap for isba-df
870 ! recommended = 'ROOT' d2 soil depth from ecoclimap for isba-df (default)
871 !
872 !####################################################################################
873 !
874 IF(hisba/='DIF')THEN
875  !
876  DO jp = 1,SIZE(zdata_dg,3)
877  CALL ini_data_soil(hisba, zdata_dg(:,:,jp), &
878  psurf = ydtco%XDATA_NATURE, &
879  psurf2 = ydtco%XDATA_GARDEN, &
880  prootdepth = zdata_root_depth(:,jp), &
881  psoildepth = zdata_ground_depth(:,jp) )
882  ENDDO
883  !
884  DO jlayer=1,kground
885  CALL av_pgd(ydtco, pdg(:,jlayer,:),pcover,zdata_dg(:,jlayer,:),ynat,'ARI',ocover,kdecade=kdecade)
886  ENDDO
887  !
888 ELSE
889 !
890  IF(cdgdif=='ROOT')THEN
891  DO jvegtype=1,nvegtype
892  IF(jvegtype==nvt_no)THEN
893  WHERE(zdata_ground_depth(:,jvegtype)/=xundef)
894  zdata_ground_depth(:,jvegtype) = min(1.0,zdata_ground_depth(:,jvegtype))
895  ENDWHERE
896  ELSEIF(jvegtype/=nvt_rock.AND.jvegtype/=nvt_snow)THEN
897  zdata_ground_depth(:,jvegtype) = max(1.0,zdata_root_depth(:,jvegtype))
898  ELSE
899  zdata_ground_depth(:,jvegtype) = zdata_root_depth(:,jvegtype)
900  ENDIF
901  ENDDO
902  ENDIF
903 !
904  CALL av_pgd(ydtco, zdtot(:,:),pcover,zdata_ground_depth,ynat,cdgavg,ocover,kdecade=kdecade)
905 !
906 ! CALCULATION OF GROUND_DEPTH over Permafrost area
907  IF(lperm)THEN
908  CALL permafrost_depth(kni,kpatch,pperm,zdtot)
909  ENDIF
910 !
911  IF (ldg2) THEN
912  IF(cdgdif=='ROOT')THEN
913  CALL av_pgd(ydtco, pdg2(:,:),pcover,zdata_ground_depth,ynat,cdgavg,ocover)
914  ELSE
915  CALL av_pgd(ydtco, pdg2(:,:),pcover,zdata_root_depth,ynat,cdgavg,ocover)
916  ENDIF
917  ENDIF
918  IF (ldroot .OR. lrootfrac .OR. (cdgdif=='ROOT')) THEN
919  CALL av_pgd(ydtco, zdroot(:,:),pcover,zdata_root_depth,ydif,cdgavg,ocover,kdecade=kdecade)
920  IF (ldroot) pdroot(:,:) = zdroot(:,:)
921  IF (cdgdif=='ROOT') WHERE(zdroot(:,:).NE.xundef) zdtot(:,:) = max(zdroot(:,:),zdtot(:,:))
922  ENDIF
923 !
924  DO jp = 1,SIZE(pdg,3)
925  CALL ini_data_soil(hisba, pdg(:,:,jp), psoildepth=zdtot(:,jp), psoilgrid=psoilgrid, &
926  kwg_layer=iwg_layer(:,jp))
927  ENDDO
928  IF (lwg_layer) kwg_layer(:,:) = iwg_layer(:,:)
929 !
930  IF (lrootfrac) THEN
931 !
932  CALL av_pgd(ydtco, zroot_lin(:,:),pcover,zdata_root_lin(:,:),ydif,'ARI',ocover,kdecade=kdecade)
933  IF (lrootfrac) THEN
934  CALL av_pgd(ydtco, zroot_ext(:,:),pcover,zdata_root_extinction(:,:),ydif,'ARI',ocover,kdecade=kdecade)
935  DO jp = 1,SIZE(pdg,3)
936  CALL ini_data_rootfrac(pdg(:,:,jp),pdroot(:,jp),zroot_ext(:,jp),zroot_lin(:,jp),prootfrac(:,:,jp))
937  ENDDO
938  ENDIF
939 !
940  ENDIF
941 !
942 ENDIF
943 !
944 IF (lhook) CALL dr_hook('CONVERT_COVER_ISBA:SET_COVER_DG',1,zhook_handle)
945 END SUBROUTINE set_cover_dg
946 !
947 !-------------------------------------------------------------------------------
948 !
949 END SUBROUTINE convert_cover_isba
real, dimension(:,:), allocatable xdata_irrig
subroutine default_lai_eco2_y2003_07
real, dimension(:,:), allocatable xdata_ce_nitro
subroutine default_lai_eco2_y2005_01
subroutine default_lai_eco2_y2006_10
subroutine default_lai_eco2_y2006_02
subroutine set_cover_dg(KNI, KGROUND, KPATCH, LPERM, LDG2, LDROOT, LWG_LAYER, L
subroutine default_lai_eco1_02
subroutine default_lai_eco2_y2002_08
subroutine default_lai_eco2_y2003_10
real, dimension(:,:), allocatable xdata_albnir_veg
subroutine default_lai_eco2_y2002_04
subroutine default_lai_eco2_y2002_10
subroutine default_lai_eco2_y2004_13
subroutine default_lai_eco2_y2003_16
real, dimension(:,:), allocatable xdata_sefold_st
subroutine default_lai_eco1_04
real, dimension(:,:), allocatable xdata_root_lin
subroutine default_lai_eco2_y2004_11
subroutine default_lai_eco2_y2006_18
real, dimension(:,:), allocatable xdata_albvis_veg
subroutine default_lai_eco2_y2004_18
subroutine default_lai_eco2_y2004_06
real, dimension(:,:,:), allocatable xdata_z0
real, dimension(:,:), allocatable xdata_rgl
subroutine default_lai_eco2_y2005_19
subroutine default_lai_eco2_y2005_08
real, dimension(:,:), allocatable xdata_gc
real, dimension(:,:), allocatable xdata_dmax
subroutine default_lai_eco2_y2004_08
subroutine default_lai_eco2_y2003_02
type(date_time), dimension(:,:), pointer tdata_seed
real, dimension(:,:), allocatable xdata_gmes_st
subroutine default_lai_eco2_y2002_11
subroutine default_lai_eco2_y2003_15
subroutine default_lai_eco2_y2003_12
real, dimension(:,:), allocatable xdata_albuv_veg
subroutine default_lai_eco2_y2005_12
real, dimension(:,:,:), allocatable xdata_alb_soil_nir
subroutine default_lai_eco1_19
subroutine default_lai_eco2_y2004_12
real, dimension(:,:,:), allocatable xdata_lai_all_years
subroutine default_lai_eco2_y2002_16
real, dimension(:,:), allocatable xdata_gamma
real, dimension(:,:), allocatable xdata_root_depth
subroutine default_lai_eco2_y2004_01
subroutine default_lai_eco2_y2005_13
subroutine default_lai_eco2_y2005_14
subroutine default_lai_eco2_y2002_18
subroutine default_lai_eco2_y2006_11
real, dimension(:,:), allocatable xdata_laimin
subroutine default_lai_eco1_14
subroutine default_lai_eco2_y2003_01
real, dimension(:,:), allocatable xdata_gmes
subroutine ini_data_soil(HISBA, PDG_OUT, PSURF, PSURF2, PROOTDEPTH, PSOILDEPTH, PSOILGRID, KWG_LAYER)
subroutine default_lai_eco2_y2005_03
real, dimension(:,:), allocatable xdata_vegtype
subroutine default_lai_eco1_11
subroutine default_lai_eco1_10
subroutine default_lai_eco2_y2003_11
real, dimension(:,:), allocatable xdata_cv
subroutine default_lai_eco2_y2003_13
subroutine default_lai_eco2_y2003_06
subroutine default_lai_eco2_y2006_12
subroutine default_lai_eco1_06
subroutine default_lai_eco2_y2003_03
subroutine default_lai_eco2_y2002_01
subroutine default_data_cover(PDATA_TOWN, PDATA_NATURE, PDATA_WATER, PDATA_SEA, PDATA_Z0_TOWN, PDATA_BLD_HEIGHT, PDATA_WALL_O_HOR, PDATA_BLD, PDATA_GARDEN, PDATA_ALB_ROOF, PDATA_ALB_ROAD, PDATA_ALB_WALL, PDATA_EMIS_ROOF, PDATA_EMIS_ROAD, PDATA_EMIS_WALL, PDATA_HC_ROOF, PDATA_TC_ROOF, PDATA_D_ROOF, PDATA_HC_ROAD, PDATA_TC_ROAD, PDATA_D_ROAD, PDATA_HC_WALL, PDATA_TC_WALL, PDATA_D_WALL, PDATA_H_TRAFFIC, PDATA_LE_TRAFFIC, PDATA_H_INDUSTRY, PDATA_LE_INDUSTRY, PDATA_VEGTYPE, PDATA_H_TREE, PDATA_WATSUP, PDATA_IRRIG, PDATA_ROOT_DEPTH, PDATA_GROUND_DEPTH, PDATA_DICE, TPDATA_SEED, TPDATA_REAP)
subroutine default_lai_eco2_y2006_13
real, parameter xundef
subroutine default_lai_eco2_y2005_02
subroutine default_lai_eco2_y2006_16
subroutine default_lai_eco2_y2002_15
real, dimension(:,:), allocatable xdata_z0_o_z0h
subroutine default_lai_eco2_y2002_12
real, dimension(:,:), allocatable xdata_bslai
real, dimension(:,:), allocatable xdata_dmax_st
subroutine default_lai_eco2_y2004_17
subroutine default_lai_eco2_y2004_16
subroutine default_lai_eco2_y2006_07
subroutine default_lai_eco2_y2005_07
type(date_time), dimension(:,:), pointer tdata_reap
subroutine default_lai_eco2_y2002_02
subroutine default_lai_eco2_y2003_08
real, dimension(:,:), allocatable xdata_rsmin
subroutine default_lai_eco2_y2005_10
subroutine convert_cover_isba(DTCO, HALBEDO, HISBA, OTR_ML, KDECADE, PCOVER, OCOV
subroutine default_lai_eco2_y2004_15
subroutine default_lai_eco1_08
subroutine default_lai_eco2_y2006_19
subroutine default_lai_eco2_y2002_05
integer, parameter jprb
Definition: parkind1.F90:32
subroutine default_lai_eco2_y2005_05
real, dimension(:,:), allocatable xdata_bslai_st
subroutine default_lai_eco1_09
subroutine default_lai_eco2_y2006_17
character(len=4) cdgdif
subroutine default_lai_eco2_y2006_03
subroutine default_lai_eco2_y2004_14
subroutine default_lai_eco1_07
subroutine default_lai_eco2_y2003_17
real, dimension(:,:,:), allocatable xdata_alb_veg_nir
integer, parameter nundef
subroutine default_lai_eco2_y2006_04
character(len=3) cdgavg
subroutine default_lai_eco2_y2004_05
subroutine default_lai_eco1_03
real, dimension(:,:), allocatable xdata_cf_nitro
subroutine default_lai_eco1_05
subroutine ecoclimap2_lai(KYEAR)
subroutine default_lai_eco2_y2002_06
subroutine default_lai_eco2_y2006_09
subroutine default_lai_eco2_y2003_04
real, dimension(:,:), allocatable xdata_wrmax_cf
subroutine default_lai_eco2_y2003_18
subroutine default_lai_eco2_y2003_05
subroutine default_lai_eco2_y2002_19
subroutine default_lai_eco1_16
subroutine default_lai_eco1_13
real, dimension(:,:,:), allocatable xdata_veg
subroutine ini_data_rootfrac(PDG, PROOTDEPTH, PROOT_EXT, PROOT_LI
subroutine default_lai_eco2_y2005_16
subroutine default_lai_eco1_18
logical lhook
Definition: yomhook.F90:15
real, dimension(:,:), allocatable xdata_dice
subroutine default_lai_eco2_y2006_15
subroutine default_lai_eco2_y2004_03
subroutine default_lai_eco2_y2005_04
subroutine default_lai_eco1_12
real, dimension(:,:,:), allocatable xdata_h_veg
real, dimension(:,:), allocatable xdata_h_tree
subroutine default_lai_eco2_y2005_18
subroutine default_lai_eco2_y2006_06
real, dimension(:,:,:), allocatable xdata_alb_veg_vis
subroutine default_lai_eco2_y2002_09
subroutine default_lai_eco2_y2006_08
subroutine default_lai_eco2_y2004_10
subroutine default_lai_eco2_y2003_09
real, dimension(:,:,:), allocatable xdata_lai
subroutine default_lai_eco2_y2004_19
subroutine default_lai_eco2_y2004_09
subroutine default_lai_eco2_y2006_01
real, dimension(:,:,:), allocatable xdata_z0litter
real, dimension(:,:), allocatable xdata_watsup
real, dimension(:,:), allocatable xdata_gc_st
subroutine default_lai_eco1_01
subroutine default_lai_eco2_y2002_17
real, dimension(:,:), allocatable xdata_re25
subroutine default_lai_eco2_y2005_11
subroutine default_lai_eco2_y2004_02
subroutine default_lai_eco1_15
real, dimension(:,:), allocatable xdata_ground_depth
subroutine default_lai_eco1_17
subroutine data_cover_init(YDATA_COVER)
real, dimension(:,:), allocatable xdata_cna_nitro
real, dimension(:,:), allocatable xdata_stress
real, dimension(:,:), allocatable xdata_f2i
subroutine default_lai_eco2_y2005_09
subroutine default_lai_eco2_y2003_14
real, dimension(:,:,:), allocatable xdata_emis_eco
real, dimension(:,:), allocatable xdata_sefold
subroutine default_lai_eco2_y2002_07
subroutine default_lai_eco2_y2005_17
subroutine default_lai_eco2_y2004_07
subroutine default_lai_eco2_y2003_19
real, dimension(:,:,:), allocatable xdata_alb_soil_vis
subroutine default_lai_eco2_y2005_06
real, dimension(:,:), allocatable xdata_root_extinction
subroutine default_lai_eco2_y2006_14
subroutine ini_data_param(PLAI, PH_TREE, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PR
subroutine default_lai_eco2_y2005_15
real, dimension(:,:,:), allocatable xdata_gndlitter
subroutine default_lai_eco2_y2002_13
subroutine default_lai_eco2_y2004_04
subroutine default_lai_eco2_y2002_14
subroutine default_lai_eco2_y2002_03
subroutine default_lai_eco2_y2006_05