SURFEX v8.1
General documentation of Surfex
ini_data_param.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 ini_data_param(PLAI, PH_TREE, &
7  PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PRSMIN, &
8  PRGL, PCV, PGAMMA, PGMES, PGC, PBSLAI, PSEFOLD, &
9  PLAIMIN_IN, PLAIMIN_OUT, PDMAX, PSTRESS, PF2I, &
10  PVEG_IN, PVEG_OUT, &
11  PGREEN, PZ0, PZ0_O_Z0H, PEMIS_ECO, PWRMAX_CF, &
12  PROOT_LIN, PROOT_EXTINCTION, PSOILRC_SO2, &
13  PSOILRC_O3, PRE25, PCE_NITRO, PCF_NITRO, PCNA_NITRO,&
14  PGMES_ST, PGC_ST, PBSLAI_ST, PSEFOLD_ST, PDMAX_ST ,&
15  PGNDLITTER, PH_VEG, PZ0LITTER, OAGRI_TO_GRASS )
16 ! #########################
17 !
18 !!**** *INI_DATA_PARAM* initializes secondary cover-field correspondance arrays
19 !! from VEGTYPE and LAI
20 !!
21 !! PURPOSE
22 !! -------
23 !!
24 !! METHOD
25 !! ------
26 !!
27 !!
28 !! EXTERNAL
29 !! --------
30 !!
31 !! IMPLICIT ARGUMENTS
32 !! ------------------
33 !!
34 !! REFERENCE
35 !! ---------
36 !!
37 !! AUTHOR
38 !! ------
39 !!
40 !! V. Masson Meteo-France
41 !!
42 !! MODIFICATION
43 !! ------------
44 !!
45 !! Original 06/01/2000
46 !! F.solmon 01/06/2000 adaptation for patch approach: calculation of parameters
47 !! for each vegtypes of basic covers
48 !! V Masson 03/04/2002 set RSMIN value to 120 for NVT_TROG and NVT_C4
49 !! L Jarlan 15/10/2004 modify xdata_gmes following Gibelin
50 !! P Le Moigne 09/2005 AGS modifs of L. Jarlan (duplicate arrays for ast, lst or nit options)
51 !! S. Lafont 03/09 : change unit of RE25
52 !! S. Faroux 03/09 : irrigated crops are assumed C4 crops
53 !! S. Lafont 09/11 : Reco bare soil is 0; corrected comments
54 !! B. Decharme 07/12 : Ponderation coefficient for cumulative root fraction of evergreen forest
55 !! R. Alkama 05/12 : Add 7 new vegtype (19 rather than 12)
56 !! B. Decharme 05/13 : new param for equatorial forest
57 !! P. Samuelsson 10/14 : Multi-energy balance (MEB)
58 !!Seferian & Delire 06/15 : Updating Nitrogen content and coef (PCF,PCNA) and
59 ! mesophyl conductance based on TRY database (Kattge et al., GCB 2011) and Jacobs Thesis
60 !!
61 !----------------------------------------------------------------------------
62 !
63 !* 0. DECLARATION
64 ! -----------
65 !
66 USE modd_csts, ONLY : xday
67 USE modd_data_cover_par, ONLY : nvt_no, nvt_rock, nvt_snow, nvt_tebd, &
68  nvt_bone, nvt_trbe, nvt_c3, nvt_c4, &
69  nvt_irr, nvt_gras, nvt_trog,nvt_park, &
70  nvt_trbd, nvt_tebe, nvt_tene, nvt_bobd, &
71  nvt_bond, nvt_bogr, nvt_shrb, nvt_c3w, &
72  nvt_c3s, nvt_fltr, nvt_flgr, &
73  nvegtype, jpcover
74 !
76 !
81 USE modi_abor1_sfx
83 !
84 !
85 USE yomhook ,ONLY : lhook, dr_hook
86 USE parkind1 ,ONLY : jprb
87 !
88 IMPLICIT NONE
89 !
90 !* 0.1 Declaration of arguments
91 ! ------------------------
92 !
93 REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(IN) :: PLAI
94 REAL, DIMENSION(:,:), OPTIONAL, INTENT(IN) :: PH_TREE
95 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PALBNIR_VEG
96 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PALBVIS_VEG
97 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PALBUV_VEG
98 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PRSMIN
99 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PRGL
100 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PCV
101 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PGAMMA
102 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PGMES
103 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PGC
104 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PBSLAI
105 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PSEFOLD
106 REAL, DIMENSION(:,:), INTENT(IN), OPTIONAL :: PLAIMIN_IN
107 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PLAIMIN_OUT
108 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PDMAX
109 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PSTRESS
110 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PF2I
111 REAL, DIMENSION(:,:,:), INTENT(IN), OPTIONAL :: PVEG_IN
112 REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PVEG_OUT
113 REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PGREEN
114 REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PZ0
115 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PZ0_O_Z0H
116 REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PEMIS_ECO
117 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PWRMAX_CF
118 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PROOT_LIN
119 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PROOT_EXTINCTION
120 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PSOILRC_SO2
121 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PSOILRC_O3
122 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PRE25
123 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PCE_NITRO
124 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PCF_NITRO
125 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PCNA_NITRO
126 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PGMES_ST
127 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PGC_ST
128 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PBSLAI_ST
129 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PSEFOLD_ST
130 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PDMAX_ST
131 !
132 LOGICAL, OPTIONAL, INTENT(IN) :: OAGRI_TO_GRASS
133 !
134 ! MEB parameters
135 ! --------------
136 REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PH_VEG
137 REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PZ0LITTER
138 REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PGNDLITTER
139 !
140 !* 0.2 Declaration of local variables
141 ! ------------------------------
142 !
143 LOGICAL :: GAGRI_TO_GRASS
144 INTEGER :: IVT_C3, IVT_C3W, IVT_C3S, IVT_PARK, IVT_FLTR, IVT_FLGR
145 INTEGER :: JC ! class loop counter
146 !
147 INTEGER :: JM ! month loop counter
148 REAL(KIND=JPRB) :: ZHOOK_HANDLE
149 !
150 !-------------------------------------------------------------------------------
151 !-------------------------------------------------------------------------------
152 !
153 !* 7. Secondary variables on natural covers
154 ! -------------------------------------
155 !
156 IF (lhook) CALL dr_hook('INI_DATA_PARAM',0,zhook_handle)
157 !
158 gagri_to_grass = .false.
159 !
160 !When set, C3 and C4 crop values are replaced by value for C3 grass
161 IF(PRESENT(oagri_to_grass))gagri_to_grass=oagri_to_grass
162 !
163 !-------------------------------------------------------------------------------
164 !* 7.5 albnir (veg only)
165 ! ------
166 IF (PRESENT(palbnir_veg)) THEN
167  palbnir_veg(:,:)= 0.30
168  palbnir_veg(:,nvt_tebd)= 0.25
169  palbnir_veg(:,nvt_trbd)= 0.25
170  palbnir_veg(:,nvt_tebe)= 0.25
171  palbnir_veg(:,nvt_bobd)= 0.25
172  palbnir_veg(:,nvt_shrb)= 0.25
173  palbnir_veg(:,nvt_bone)= 0.15
174  palbnir_veg(:,nvt_tene)= 0.15
175  palbnir_veg(:,nvt_bond)= 0.15
176  palbnir_veg(:,nvt_trbe)= 0.21
177  IF (nvt_fltr>0) THEN
178  palbnir_veg(:,nvt_fltr) = 0.25
179  ENDIF
180 ENDIF
181 !-------------------------------------------------------------------------------
182 !* 7.6 albvis (veg only)
183 ! ------
184 IF (PRESENT(palbvis_veg)) THEN
185  palbvis_veg(:,:)= 0.10
186  palbvis_veg(:,nvt_tebd)= 0.05
187  palbvis_veg(:,nvt_trbd)= 0.05
188  palbvis_veg(:,nvt_tebe)= 0.05
189  palbvis_veg(:,nvt_bobd)= 0.05
190  palbvis_veg(:,nvt_shrb)= 0.05
191  palbvis_veg(:,nvt_bone)= 0.05
192  palbvis_veg(:,nvt_tene)= 0.05
193  palbvis_veg(:,nvt_bond)= 0.05
194  palbvis_veg(:,nvt_trbe)= 0.05
195  IF (nvt_fltr>0) THEN
196  palbvis_veg(:,nvt_fltr) = 0.05
197  ENDIF
198 ENDIF
199 !-------------------------------------------------------------------------------
200 !* 7.6 albUV (veg only)
201 ! -----
202 IF (PRESENT(palbuv_veg)) THEN
203  !
204  palbuv_veg(:,:)= 0.06
205  palbuv_veg(:,nvt_tebd)= 0.0525
206  palbuv_veg(:,nvt_trbd)= 0.0525
207  palbuv_veg(:,nvt_tebe)= 0.0525
208  palbuv_veg(:,nvt_bobd)= 0.0525
209  palbuv_veg(:,nvt_shrb)= 0.0525
210  palbuv_veg(:,nvt_bone)= 0.0425
211  palbuv_veg(:,nvt_tene)= 0.0425
212  palbuv_veg(:,nvt_bond)= 0.0425
213  palbuv_veg(:,nvt_trbe)= 0.038
214  IF (nvt_fltr>0) THEN
215  palbuv_veg(:,nvt_fltr) = 0.0525
216  ENDIF
217  !
218  palbuv_veg(:,nvt_gras)= 0.08
219  palbuv_veg(:,nvt_bogr)= 0.08
220  palbuv_veg(:,nvt_trog)= 0.125
221  !
222  IF(gagri_to_grass)THEN
223  !
224  IF (nvt_c3/=0) THEN
225  palbuv_veg(:,nvt_c3 )= 0.08
226  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
227  palbuv_veg(:,nvt_c3w )= 0.08
228  palbuv_veg(:,nvt_c3s )= 0.08
229  ENDIF
230  palbuv_veg(:,nvt_c4 )= 0.08
231  IF (nvt_irr/=0) THEN
232  palbuv_veg(:,nvt_irr )= 0.08
233  ENDIF
234  !
235  ELSE
236  !
237  IF (nvt_irr/=0) THEN
238  palbuv_veg(:,nvt_irr )= 0.045
239  ENDIF
240  !
241  ENDIF
242  !
243  IF (nvt_park/=0) THEN
244  palbuv_veg(:,nvt_park)= 0.08
245  ELSEIF (nvt_flgr/=0) THEN
246  palbuv_veg(:,nvt_flgr)= 0.08
247  ENDIF
248  !
249 ENDIF
250 !------------------------------------------------------------------------------
251 !* 7.7 Rsmin
252 ! -----
253 IF (PRESENT(prsmin)) THEN
254  !
255  prsmin(:,:)= 40.
256  prsmin(:,nvt_tebd)= 150.
257  prsmin(:,nvt_trbd)= 150.
258  prsmin(:,nvt_tebe)= 150.
259  prsmin(:,nvt_bobd)= 150.
260  prsmin(:,nvt_shrb)= 150.
261  prsmin(:,nvt_bone)= 150.
262  prsmin(:,nvt_tene)= 150.
263  prsmin(:,nvt_bond)= 150.
264  !
265  IF (nvt_fltr>0) THEN
266  prsmin(:,nvt_fltr) = 150.
267  ENDIF
268  !
269  prsmin(:,nvt_trbe)= xeverg_rsmin
270  prsmin(:,nvt_trog)= 120.
271  !
272  IF(gagri_to_grass)THEN
273  prsmin(:,nvt_c4 )= 40.
274  IF (nvt_irr/=0) THEN
275  prsmin(:,nvt_irr )= 40.
276  ENDIF
277  ELSE
278  prsmin(:,nvt_c4 )= 120.
279  IF (nvt_irr/=0) THEN
280  prsmin(:,nvt_irr )= 120.
281  ENDIF
282  ENDIF
283  !
284 ENDIF
285 !-------------------------------------------------------------------------------
286 !* 7.8 Gamma
287 ! -----
288 IF (PRESENT(pgamma)) THEN
289  pgamma(:,:)= 0.
290  pgamma(:,nvt_tebd)= 0.04
291  pgamma(:,nvt_trbd)= 0.04
292  pgamma(:,nvt_tebe)= 0.04
293  pgamma(:,nvt_bobd)= 0.04
294  pgamma(:,nvt_shrb)= 0.04
295  pgamma(:,nvt_bone)= 0.04
296  pgamma(:,nvt_tene)= 0.04
297  pgamma(:,nvt_bond)= 0.04
298  pgamma(:,nvt_trbe)= 0.04
299  IF (nvt_fltr>0) THEN
300  pgamma(:,nvt_fltr) = 0.04
301  ENDIF
302 ENDIF
303 !-------------------------------------------------------------------------------
304 !* 7.8 Wrmax_cf
305 ! --------
306 IF (PRESENT(pwrmax_cf)) THEN
307  pwrmax_cf(:,:)= 0.2
308  pwrmax_cf(:,nvt_tebd)= 0.1
309  pwrmax_cf(:,nvt_trbd)= 0.1
310  pwrmax_cf(:,nvt_tebe)= 0.1
311  pwrmax_cf(:,nvt_bobd)= 0.1
312  pwrmax_cf(:,nvt_shrb)= 0.1
313  pwrmax_cf(:,nvt_bone)= 0.1
314  pwrmax_cf(:,nvt_tene)= 0.1
315  pwrmax_cf(:,nvt_bond)= 0.1
316  pwrmax_cf(:,nvt_trbe)= 0.1
317  IF (nvt_fltr>0) THEN
318  pwrmax_cf(:,nvt_fltr) = 0.1
319  ENDIF
320 ENDIF
321 !-------------------------------------------------------------------------------
322 !* 7.9 Rgl
323 ! ---
324 IF (PRESENT(prgl)) THEN
325  prgl(:,:)= 100.
326  prgl(:,nvt_tebd)= 30.
327  prgl(:,nvt_trbd)= 30.
328  prgl(:,nvt_tebe)= 30.
329  prgl(:,nvt_bobd)= 30.
330  prgl(:,nvt_shrb)= 30.
331  prgl(:,nvt_bone)= 30.
332  prgl(:,nvt_tene)= 30.
333  prgl(:,nvt_bond)= 30.
334  prgl(:,nvt_trbe)= 30.
335  IF (nvt_fltr>0) THEN
336  prgl(:,nvt_fltr) = 30.
337  ENDIF
338 ENDIF
339 !-------------------------------------------------------------------------------
340 !* 7.10 Cv
341 ! --
342 IF (PRESENT(pcv)) THEN
343  pcv(:,:)=2.e-5
344  pcv(:,nvt_tebd)= 1.e-5
345  pcv(:,nvt_trbd)= 1.e-5
346  pcv(:,nvt_tebe)= 1.e-5
347  pcv(:,nvt_bobd)= 1.e-5
348  pcv(:,nvt_shrb)= 1.e-5
349  pcv(:,nvt_bone)= 1.e-5
350  pcv(:,nvt_tene)= 1.e-5
351  pcv(:,nvt_bond)= 1.e-5
352  pcv(:,nvt_trbe)= 1.e-5
353  IF (nvt_fltr>0) THEN
354  pcv(:,nvt_fltr) = 1.e-5
355  ENDIF
356 ENDIF
357 !-------------------------------------------------------------------------------
358 !* 7.11 mesophyll conductance (m s-1)
359 ! -----------------------------
360 ! Uptdated values using Kattge et al. 2009 median values of Vcmax at 25C
361 ! (For TRBE, used median + 1 standard deviation)
362 ! For C3 tree PFTs :
363 ! gmes = Vcmax / (gamma + Kc*(1 + O2/Ko))
364 ! from Jacobs eq [A8.5] and Farquhar, 1980 eq 42 : gm = dA/dC estimated at Ci=Gamma
365 ! For grasses (C3 and C4): used V7 value
366 ! crops : used N. Canal's PhD thesis
367 ! --------------------------------------------------------------------
368 IF (PRESENT(pgmes)) THEN
369  pgmes(:,:)=0.020
370  pgmes(:,nvt_tebd)= 0.001
371  pgmes(:,nvt_trbd)= 0.001
372  pgmes(:,nvt_tebe)= 0.001
373  pgmes(:,nvt_bobd)= 0.001
374  pgmes(:,nvt_shrb)= 0.001
375  pgmes(:,nvt_bone)= 0.001
376  pgmes(:,nvt_tene)= 0.001
377  pgmes(:,nvt_bond)= 0.001
378  pgmes(:,nvt_trbe)= 0.001
379  IF (nvt_fltr>0) THEN
380  pgmes(:,nvt_fltr) = 0.001
381  ENDIF
382  !
383  IF(gagri_to_grass)THEN
384  !
385  IF (nvt_c3/=0) THEN
386  pgmes(:,nvt_c3 )= 0.020
387  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
388  pgmes(:,nvt_c3w )= 0.020
389  pgmes(:,nvt_c3s )= 0.020
390  ENDIF
391  pgmes(:,nvt_c4 )= 0.020
392  IF (nvt_irr/=0) THEN
393  pgmes(:,nvt_irr )= 0.020
394  ENDIF
395  !
396  ELSE
397  !
398  IF (nvt_c3/=0) THEN
399  pgmes(:,nvt_c3 )= 0.003
400  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
401  pgmes(:,nvt_c3w )= 0.003
402  pgmes(:,nvt_c3s )= 0.003
403  ENDIF
404  pgmes(:,nvt_c4 )= 0.003
405  IF (nvt_irr/=0) THEN
406  pgmes(:,nvt_irr )= 0.003
407  ENDIF
408  !
409  ENDIF
410 ENDIF
411 !
412 IF (PRESENT(pgmes_st)) THEN
413  !
414  pgmes_st(:,:)=0.003
415  pgmes_st(:,nvt_tebd)= 0.0018
416  pgmes_st(:,nvt_trbd)= 0.0012
417  pgmes_st(:,nvt_tebe)= 0.0019
418  pgmes_st(:,nvt_bobd)= 0.0018
419  pgmes_st(:,nvt_shrb)= 0.0016
420  pgmes_st(:,nvt_bone)= 0.0019
421  pgmes_st(:,nvt_tene)= 0.0019
422  pgmes_st(:,nvt_bond)= 0.0012
423  pgmes_st(:,nvt_trbe)= 0.0012
424  IF (nvt_fltr>0) THEN
425  pgmes_st(:,nvt_fltr) = 0.0018
426  ENDIF
427  !
428  IF(gagri_to_grass)THEN
429  !
430  IF (nvt_c3/=0) THEN
431  pgmes_st(:,nvt_c3 )= 0.001
432  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
433  pgmes_st(:,nvt_c3w )= 0.001
434  pgmes_st(:,nvt_c3s )= 0.001
435  ENDIF
436  pgmes_st(:,nvt_c4 )= 0.006
437  IF (nvt_irr/=0) THEN
438  pgmes_st(:,nvt_irr )= 0.006
439  ENDIF
440  !
441  ELSE
442  !
443  IF (nvt_c3/=0) THEN
444  pgmes_st(:,nvt_c3 )= 0.00175
445  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
446  pgmes_st(:,nvt_c3w )= 0.00175
447  pgmes_st(:,nvt_c3s )= 0.00175
448  ENDIF
449  pgmes_st(:,nvt_c4 )= 0.0098
450  IF (nvt_irr/=0) THEN
451  pgmes_st(:,nvt_irr )= 0.0098
452  ENDIF
453  !
454  ENDIF
455  !
456  pgmes_st(:,nvt_gras )= 0.001
457  pgmes_st(:,nvt_bogr )= 0.001
458  pgmes_st(:,nvt_trog )= 0.006
459  !
460  IF (nvt_park/=0) THEN
461  pgmes_st(:,nvt_park)= 0.001
462  ELSEIF (nvt_flgr/=0) THEN
463  pgmes_st(:,nvt_flgr)= 0.001
464  ENDIF
465  !
466 ENDIF
467 !-------------------------------------------------------------------------------
468 !* 7.11 Ecosystem Respiration (kg m-2 s-1)
469 ! -----------------------------------
470 IF (PRESENT(pre25)) THEN
471  !
472  pre25(:,:)= 3.6e-7
473  pre25(:,nvt_bone)= 1.8e-7
474  pre25(:,nvt_tene)= 1.8e-7
475  pre25(:,nvt_bond)= 1.8e-7
476  !
477  IF(gagri_to_grass)THEN
478  !
479  IF (nvt_c3/=0) THEN
480  pre25(:,nvt_c3 )= 3.6e-7
481  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
482  pre25(:,nvt_c3w )= 3.6e-7
483  pre25(:,nvt_c3s )= 3.6e-7
484  ENDIF
485  pre25(:,nvt_c4 )= 3.6e-7
486  IF (nvt_irr/=0) THEN
487  pre25(:,nvt_irr )= 3.6e-7
488  ENDIF
489  !
490  ELSE
491  !
492  IF (nvt_c3/=0) THEN
493  pre25(:,nvt_c3 )= 3.6e-7
494  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
495  pre25(:,nvt_c3w )= 3.6e-7
496  pre25(:,nvt_c3s )= 3.6e-7
497  ENDIF
498  pre25(:,nvt_c4 )= 3.0e-7
499  IF (nvt_irr/=0) THEN
500  pre25(:,nvt_irr )= 3.0e-7
501  ENDIF
502  !
503  ENDIF
504  !
505  !ecosystem respiration only if vegetetation is present
506  pre25(:,nvt_no )= 0.
507  pre25(:,nvt_rock)= 0.
508  pre25(:,nvt_snow)= 0.
509  !
510 ENDIF
511 !-------------------------------------------------------------------------------
512 !* 7.11 cuticular conductance (m s-1)
513 ! -----------------------------
514 IF (PRESENT(pgc)) THEN
515  pgc(:,:)=0.00025
516  pgc(:,nvt_tebd)= 0.00015
517  pgc(:,nvt_trbd)= 0.00015
518  pgc(:,nvt_tebe)= 0.00015
519  pgc(:,nvt_bobd)= 0.00015
520  pgc(:,nvt_shrb)= 0.00015
521  pgc(:,nvt_bone)= 0.
522  pgc(:,nvt_tene)= 0.
523  pgc(:,nvt_bond)= 0.
524  pgc(:,nvt_trbe)= 0.00015
525  IF (nvt_fltr>0) THEN
526  pgc(:,nvt_fltr) = 0.00015
527  ENDIF
528 ENDIF
529 !
530 IF (PRESENT(pgc_st)) THEN
531  pgc_st(:,:)=0.00015
532  pgc_st(:,nvt_bone)= 0.
533  pgc_st(:,nvt_tene)= 0.
534  pgc_st(:,nvt_bond)= 0.
535  !
536  IF (nvt_c3/=0) THEN
537  pgc_st(:,nvt_c3 )= 0.00025
538  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
539  pgc_st(:,nvt_c3w )= 0.00025
540  pgc_st(:,nvt_c3s )= 0.00025
541  ENDIF
542  !
543  IF(gagri_to_grass)THEN
544  pgc_st(:,nvt_c4 )= 0.00025
545  IF (nvt_irr/=0) THEN
546  pgc_st(:,nvt_irr )= 0.00025
547  ENDIF
548  ENDIF
549  !
550  pgc_st(:,nvt_gras)= 0.00025
551  pgc_st(:,nvt_bogr)= 0.00025
552  !
553  IF (nvt_park/=0) THEN
554  pgc_st(:,nvt_park)= 0.001
555  ELSEIF (nvt_flgr/=0) THEN
556  pgc_st(:,nvt_flgr)= 0.001
557  ENDIF
558  !
559 ENDIF
560 !-------------------------------------------------------------------------------
561 !* 7.11 critical normilized soil water content for stress parameterisation
562 ! ------------------------------------------------------------------
563 IF (PRESENT(pf2i)) pf2i(:,:)=0.3
564 !-------------------------------------------------------------------------------
565 !* 7.12 ratio d(biomass)/d(lai) (kg/m2)
566 ! -----------------------
567 IF (PRESENT(pbslai)) THEN
568  pbslai(:,:)=0.36
569  pbslai(:,nvt_tebd)= 0.25
570  pbslai(:,nvt_trbd)= 0.25
571  pbslai(:,nvt_tebe)= 0.25
572  pbslai(:,nvt_bobd)= 0.25
573  pbslai(:,nvt_shrb)= 0.25
574  pbslai(:,nvt_bone)= 0.25
575  pbslai(:,nvt_tene)= 0.25
576  pbslai(:,nvt_bond)= 0.25
577  pbslai(:,nvt_trbe)= 0.25
578  IF (nvt_fltr>0) THEN
579  pbslai(:,nvt_fltr) = 0.25
580  ENDIF
581  !
582  IF(gagri_to_grass)THEN
583  !
584  IF (nvt_c3/=0) THEN
585  pbslai(:,nvt_c3 )= 0.36
586  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
587  pbslai(:,nvt_c3w )= 0.36
588  pbslai(:,nvt_c3s )= 0.36
589  ENDIF
590  pbslai(:,nvt_c4 )= 0.36
591  IF (nvt_irr/=0) THEN
592  pbslai(:,nvt_irr )= 0.36
593  ENDIF
594  !
595  ELSE
596  !
597  IF (nvt_c3/=0) THEN
598  pbslai(:,nvt_c3 )= 0.06
599  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
600  pbslai(:,nvt_c3w )= 0.06
601  pbslai(:,nvt_c3s )= 0.06
602  ENDIF
603  pbslai(:,nvt_c4 )= 0.06
604  IF (nvt_irr/=0) THEN
605  pbslai(:,nvt_irr )= 0.06
606  ENDIF
607  !
608  ENDIF
609  !
610 ENDIF
611 !
612 IF (PRESENT(pbslai_st)) THEN
613  !
614  pbslai_st(:,:)=0.08
615  pbslai_st(:,nvt_tebd)= 0.125
616  pbslai_st(:,nvt_trbd)= 0.125
617  pbslai_st(:,nvt_tebe)= 0.125
618  pbslai_st(:,nvt_bobd)= 0.125
619  pbslai_st(:,nvt_shrb)= 0.125
620  pbslai_st(:,nvt_bone)= 0.50
621  pbslai_st(:,nvt_tene)= 0.50
622  pbslai_st(:,nvt_bond)= 0.50
623  pbslai_st(:,nvt_trbe)= 0.25
624  IF (nvt_fltr>0) THEN
625  pbslai_st(:,nvt_fltr) = 0.125
626  ENDIF
627  !
628  IF(gagri_to_grass)THEN
629  !
630  IF (nvt_c3/=0) THEN
631  pbslai_st(:,nvt_c3 )= 0.08
632  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
633  pbslai_st(:,nvt_c3w )= 0.08
634  pbslai_st(:,nvt_c3s )= 0.08
635  ENDIF
636  pbslai_st(:,nvt_c4 )= 0.08
637  IF (nvt_irr/=0) THEN
638  pbslai_st(:,nvt_irr )= 0.08
639  ENDIF
640  !
641  ELSE
642  !
643  IF (nvt_c3/=0) THEN
644  pbslai_st(:,nvt_c3 )= 0.06
645  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
646  pbslai_st(:,nvt_c3w )= 0.06
647  pbslai_st(:,nvt_c3s )= 0.06
648  ENDIF
649  pbslai_st(:,nvt_c4 )= 0.06
650  IF (nvt_irr/=0) THEN
651  pbslai_st(:,nvt_irr )= 0.06
652  ENDIF
653  !
654  ENDIF
655  !
656 ENDIF
657 !
658 !-------------------------------------------------------------------------------
659 !* 7.12 maximum air saturation deficit tolerate by vegetation (kg/kg)
660 ! -----------------------------------------------------
661 IF (PRESENT(pdmax)) THEN
662  pdmax(:,:) = 0.1
663  pdmax(:,nvt_tebd)= 0.01
664  pdmax(:,nvt_trbd)= 0.01
665  pdmax(:,nvt_tebe)= 0.01
666  pdmax(:,nvt_bobd)= 0.01
667  pdmax(:,nvt_shrb)= 0.01
668  pdmax(:,nvt_bone)= 0.01
669  pdmax(:,nvt_tene)= 0.01
670  pdmax(:,nvt_bond)= 0.01
671  pdmax(:,nvt_trbe)= 0.01
672  IF (nvt_fltr>0) THEN
673  pdmax(:,nvt_fltr) = 0.01
674  ENDIF
675 ENDIF
676 !
677 IF (PRESENT(pdmax_st)) THEN
678  !
679  pdmax_st(:,:) = 0.05
680  pdmax_st(:,nvt_tebd)= 0.109
681  pdmax_st(:,nvt_trbd)= 0.109
682  pdmax_st(:,nvt_tebe)= 0.109
683  pdmax_st(:,nvt_bobd)= 0.109
684  pdmax_st(:,nvt_shrb)= 0.109
685  pdmax_st(:,nvt_bone)= 0.124
686  pdmax_st(:,nvt_tene)= 0.124
687  pdmax_st(:,nvt_bond)= 0.124
688  pdmax_st(:,nvt_trbe)= 0.124
689  IF (nvt_fltr>0) THEN
690  pdmax_st(:,nvt_fltr) = 0.109
691  ENDIF
692  !
693  IF(gagri_to_grass)THEN
694  !
695  pdmax_st(:,nvt_c4 )= 0.05
696  IF (nvt_irr/=0) THEN
697  pdmax_st(:,nvt_irr )= 0.05
698  ENDIF
699  !
700  ELSE
701  !
702  pdmax_st(:,nvt_c4 )= 0.033
703  IF (nvt_irr/=0) THEN
704  pdmax_st(:,nvt_irr )= 0.033
705  ENDIF
706  !
707  ENDIF
708  !
709  pdmax_st(:,nvt_trog)= 0.052
710  !
711 ENDIF
712 !-------------------------------------------------------------------------------
713 !* 7.12 Defensive/offensive strategy (1/0)
714 ! ----------------------------
715 IF (PRESENT(pstress)) THEN
716  !
717  pstress(:,:) = 1.
718  pstress(:,nvt_tebd)= 0.
719  pstress(:,nvt_trbd)= 0.
720  pstress(:,nvt_tebe)= 0.
721  pstress(:,nvt_bobd)= 0.
722  pstress(:,nvt_shrb)= 0.
723  pstress(:,nvt_trbe)= 0.
724  IF (nvt_fltr>0) THEN
725  pstress(:,nvt_fltr) = 0.
726  ENDIF
727  !
728  IF(gagri_to_grass)THEN
729  !
730  IF (nvt_c3/=0) THEN
731  pstress(:,nvt_c3 )= 0.
732  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
733  pstress(:,nvt_c3w )= 0.
734  pstress(:,nvt_c3s )= 0.
735  ENDIF
736  IF (nvt_irr/=0) THEN
737  pstress(:,nvt_irr )= 0.
738  ENDIF
739  !
740  ENDIF
741  !
742  pstress(:,nvt_c4 )= 0.
743  !
744  pstress(:,nvt_gras)= 0.
745  pstress(:,nvt_bogr)= 0.
746  pstress(:,nvt_trog)= 0.
747  !
748  IF (nvt_park/=0) THEN
749  pstress(:,nvt_park)= 0.
750  ELSEIF (nvt_flgr/=0) THEN
751  pstress(:,nvt_flgr)= 0.
752  ENDIF
753  !
754 ENDIF
755 !-------------------------------------------------------------------------------
756 !* 7.13 e-folding time for senescence (days)
757 ! ------------------------------------
758 ! parameters use in case HPHOTO == 'NONE'
759 IF (PRESENT(psefold)) THEN
760  !
761  psefold(:,:)=90. * xday
762  psefold(:,nvt_tebd)= 365.* xday
763  psefold(:,nvt_trbd)= 365.* xday
764  psefold(:,nvt_tebe)= 365.* xday
765  psefold(:,nvt_bobd)= 365.* xday
766  psefold(:,nvt_shrb)= 365.* xday
767  psefold(:,nvt_bone)= 365.* xday
768  psefold(:,nvt_tene)= 365.* xday
769  psefold(:,nvt_bond)= 365.* xday
770  psefold(:,nvt_trbe)= 365.* xday
771  IF (nvt_fltr>0) THEN
772  psefold(:,nvt_fltr) = 365.* xday
773  ENDIF
774  !
775  IF(gagri_to_grass)THEN
776  !
777  IF (nvt_c3/=0) THEN
778  psefold(:,nvt_c3 )= 90.* xday
779  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
780  psefold(:,nvt_c3w )= 90.* xday
781  psefold(:,nvt_c3s )= 90.* xday
782  ENDIF
783  !
784  psefold(:,nvt_c4 )= 90.* xday
785  IF (nvt_irr/=0) THEN
786  psefold(:,nvt_irr )= 90.* xday
787  ENDIF
788  !
789  ELSE
790  !
791  IF (nvt_c3/=0) THEN
792  psefold(:,nvt_c3 )= 60.* xday
793  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
794  psefold(:,nvt_c3w )= 60.* xday
795  psefold(:,nvt_c3s )= 60.* xday
796  ENDIF
797  !
798  psefold(:,nvt_c4 )= 60.* xday
799  IF (nvt_irr/=0) THEN
800  psefold(:,nvt_irr )= 60.* xday
801  ENDIF
802  !
803  ENDIF
804  !
805 ENDIF
806 !
807 ! parameters use in case HPHOTO == 'AST', 'NIT', 'NCB'
808 
809 IF (PRESENT(psefold_st)) THEN
810  psefold_st(:,:)=150. * xday
811  psefold_st(:,nvt_tebd)= 230.* xday
812  psefold_st(:,nvt_trbd)= 230.* xday
813  psefold_st(:,nvt_tebe)= 230.* xday
814  psefold_st(:,nvt_bobd)= 230.* xday
815  psefold_st(:,nvt_shrb)= 230.* xday
816  psefold_st(:,nvt_bone)= 365.* xday
817  psefold_st(:,nvt_tene)= 365.* xday
818  psefold_st(:,nvt_bond)= 365.* xday
819  psefold_st(:,nvt_trbe)= 365.* xday
820  IF (nvt_fltr>0) THEN
821  psefold_st(:,nvt_fltr) = 365.* xday
822  ENDIF
823 ENDIF
824 !-------------------------------------------------------------------------------
825 !* 7.14 Minimum LAI (m2/m2)
826 ! -------------------
827 ! Modi lai/patch defined
828 IF (PRESENT(plaimin_out)) THEN
829  plaimin_out(:,:) = 0.3
830  plaimin_out(:,nvt_bone)= 1.0
831  plaimin_out(:,nvt_tene)= 1.0
832  plaimin_out(:,nvt_bond)= 1.0
833  plaimin_out(:,nvt_trbe)= 1.0
834 ENDIF
835 !--------------------------------------------------------------------
836 !
837 !* 7.16 Fraction of ground litter
838 ! -------------------------
839 !
840 IF (PRESENT(pgndlitter)) THEN
841  pgndlitter(:,:,:) = 0.
842  pgndlitter(:,:,nvt_tebd) = 0.03
843  pgndlitter(:,:,nvt_bone) = 0.03
844  pgndlitter(:,:,nvt_trbe) = 0.03
845  pgndlitter(:,:,nvt_trbd) = 0.03
846  pgndlitter(:,:,nvt_tebe) = 0.03
847  pgndlitter(:,:,nvt_tene) = 0.03
848  pgndlitter(:,:,nvt_bobd) = 0.03
849  pgndlitter(:,:,nvt_bond) = 0.03
850  pgndlitter(:,:,nvt_shrb) = 0.03
851 ENDIF
852 !
853 !------------------------------------------------------------------------
854 !* 2.20 specific leaf area sensitivity to nitrogen concentration
855 ! -----------------------------
856 ! corresponds to "e" in (eq 1) from Gibelin et al, 2006
857 ! SLA = f + e * Nm with SLA = specific leaf area
858 ! kept values from Gibelin et al 2006
859 ! -----------------------------------------------------
860 !
861 IF (PRESENT(pce_nitro)) THEN
862  !
863  pce_nitro(:,:)=7.68
864  pce_nitro(:,nvt_tebd)= 4.83
865  pce_nitro(:,nvt_trbd)= 4.83
866  pce_nitro(:,nvt_tebe)= 4.83
867  pce_nitro(:,nvt_bobd)= 4.83
868  pce_nitro(:,nvt_shrb)= 4.83
869  pce_nitro(:,nvt_bone)= 4.85
870  pce_nitro(:,nvt_tene)= 4.85
871  pce_nitro(:,nvt_bond)= 4.85
872  pce_nitro(:,nvt_trbe)= 4.83
873  IF (nvt_fltr>0) THEN
874  pce_nitro(:,nvt_fltr) = 4.83
875  ENDIF
876  !
877  IF(gagri_to_grass)THEN
878  !
879  IF (nvt_c3/=0) THEN
880  pce_nitro(:,nvt_c3 )= 5.56
881  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
882  pce_nitro(:,nvt_c3w )= 5.56
883  pce_nitro(:,nvt_c3s )= 5.56
884  ENDIF
885  pce_nitro(:,nvt_c4 )= 5.56
886  IF (nvt_irr/=0) THEN
887  pce_nitro(:,nvt_irr )= 5.56
888  ENDIF
889  !
890  ELSE
891  !
892  IF (nvt_c3/=0) THEN
893  pce_nitro(:,nvt_c3 )= 3.79
894  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
895  pce_nitro(:,nvt_c3w )= 3.79
896  pce_nitro(:,nvt_c3s )= 3.79
897  ENDIF
898  pce_nitro(:,nvt_c4 )= 7.68
899  IF (nvt_irr/=0) THEN
900  pce_nitro(:,nvt_irr )= 7.68
901  ENDIF
902  !
903  ENDIF
904  !
905  pce_nitro(:,nvt_gras)= 5.56
906  pce_nitro(:,nvt_bogr)= 5.56
907  !
908  IF (nvt_park/=0) THEN
909  pce_nitro(:,nvt_park)= 5.56
910  ELSEIF (nvt_flgr/=0) THEN
911  pce_nitro(:,nvt_flgr)= 5.56
912  ENDIF
913  !
914 ENDIF
915 !
916 !-------------------------------------------------------------------------------
917 !* 2.21 lethal minimum value of leaf area ratio
918 ! ----------
919 ! intercept of SLA = f + e * Nm from Gibelin et al, 2006 (eq 1)
920 ! kept Gibelin et al values for grasses and crops
921 ! used TRY database (Kattge et al., 2011) median values for trees
922 ! with SLA and Nm from TRY and "e" (PCE_NITRO) from Gibelin et al 2006
923 ! used Domingues 2011 for TRBE SLA.
924 ! ------------------------------------------------------
925 IF (PRESENT(pcf_nitro)) THEN
926  !
927  pcf_nitro(:,:)=-4.33
928  pcf_nitro(:,nvt_tebd)= 5.11
929  pcf_nitro(:,nvt_trbd)= 5.11
930  pcf_nitro(:,nvt_tebe)= 0.17
931  pcf_nitro(:,nvt_bobd)= 5.11
932  pcf_nitro(:,nvt_shrb)= 4.98
933  pcf_nitro(:,nvt_bone)= -0.87
934  pcf_nitro(:,nvt_tene)= -0.87
935  pcf_nitro(:,nvt_bond)= 0.68
936  pcf_nitro(:,nvt_trbe)= 0.12 ! obtained using f = SLA - e*Nm
937  ! with SLA = 8.33 m2/kg_DM (Domingues 2011), Nm=1.7% (TRY)
938  IF (nvt_fltr>0) THEN
939  pcf_nitro(:,nvt_fltr) = 5.11
940  ENDIF
941  !
942  IF(gagri_to_grass)THEN
943  !
944  IF (nvt_c3/=0) THEN
945  pcf_nitro(:,nvt_c3 )= 6.73
946  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
947  pcf_nitro(:,nvt_c3w )= 6.73
948  pcf_nitro(:,nvt_c3s )= 6.73
949  ENDIF
950  pcf_nitro(:,nvt_c4 )= 6.73
951  IF (nvt_irr/=0) THEN
952  pcf_nitro(:,nvt_irr )= 6.73
953  ENDIF
954  !
955  ELSE
956  !
957  IF (nvt_c3/=0) THEN
958  pcf_nitro(:,nvt_c3 )= 9.84
959  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
960  pcf_nitro(:,nvt_c3w )= 9.84
961  pcf_nitro(:,nvt_c3s )= 9.84
962  ENDIF
963  pcf_nitro(:,nvt_c4 )= -4.33
964  IF (nvt_irr/=0) THEN
965  pcf_nitro(:,nvt_irr )= -4.33
966  ENDIF
967  !
968  ENDIF
969  !
970  pcf_nitro(:,nvt_gras)= 6.73
971  pcf_nitro(:,nvt_bogr)= 6.73
972  !
973  IF (nvt_park/=0) THEN
974  pcf_nitro(:,nvt_park)= 6.73
975  ELSEIF (nvt_flgr/=0) THEN
976  pcf_nitro(:,nvt_flgr)= 6.73
977  ENDIF
978  !
979 ENDIF
980 !-------------------------------------------------------------------------------
981 !* 2.22 nitrogen concentration of leaf biomass
982 ! ----------
983 ! kept Gibelin et al 2006 values for grasses and crops
984 ! Nm from TRY database (Kattge et al. GCB 2011) median values for tree PFTs
985 ! Nm in mg_N/g_DM and PCNA_NITRO in % --> PCNA_NITRO = Nm * 0.1
986 ! --------------------------------------------------
987 IF (PRESENT(pcna_nitro)) THEN
988  !
989  pcna_nitro(:,:)=1.3
990  pcna_nitro(:,nvt_tebd)= 2.13
991  pcna_nitro(:,nvt_trbd)= 2.13
992  pcna_nitro(:,nvt_tebe)= 1.69
993  pcna_nitro(:,nvt_bobd)= 2.13
994  pcna_nitro(:,nvt_shrb)= 2.15
995  pcna_nitro(:,nvt_bone)= 1.21
996  pcna_nitro(:,nvt_tene)= 1.21
997  pcna_nitro(:,nvt_bond)= 1.94
998  pcna_nitro(:,nvt_trbe)= 1.7
999  IF (nvt_fltr>0) THEN
1000  pcna_nitro(:,nvt_fltr) = 2.13
1001  ENDIF
1002  !
1003  IF(gagri_to_grass)THEN
1004  pcna_nitro(:,nvt_c4 )= 1.3
1005  IF (nvt_irr/=0) THEN
1006  pcna_nitro(:,nvt_irr) = 1.3
1007  ENDIF
1008  ELSE
1009  pcna_nitro(:,nvt_c4 )= 1.9
1010  IF (nvt_irr/=0) THEN
1011  pcna_nitro(:,nvt_irr) = 1.9
1012  ENDIF
1013  ENDIF
1014  !
1015  IF (nvt_c3/=0) THEN
1016  pcna_nitro(:,nvt_c3 )= 1.3
1017  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
1018  pcna_nitro(:,nvt_c3w )= 1.3
1019  pcna_nitro(:,nvt_c3s )= 1.3
1020  ENDIF
1021  !
1022  pcna_nitro(:,nvt_gras)= 1.3
1023  pcna_nitro(:,nvt_bogr)= 1.3
1024  !
1025  IF (nvt_park/=0) THEN
1026  pcna_nitro(:,nvt_park)= 1.3
1027  ELSEIF (nvt_flgr/=0) THEN
1028  pcna_nitro(:,nvt_flgr)= 1.3
1029  ENDIF
1030  !
1031 ENDIF
1032 !-------------------------------------------------------------------------------
1033 !* 7.15 Jackson (1996) coefficient for cumulative root fraction
1034 ! -------------------------------------------------------
1035 IF (PRESENT(proot_extinction)) THEN
1036  !
1037  proot_extinction(:,:)= 0.943 ! (default value)
1038  proot_extinction(:,nvt_tebd)= 0.966
1039  proot_extinction(:,nvt_trbd)= 0.961
1040  proot_extinction(:,nvt_tebe)= 0.966
1041  proot_extinction(:,nvt_shrb)= 0.964
1042  proot_extinction(:,nvt_tene)= 0.976
1043  proot_extinction(:,nvt_trbe)= 0.962
1044  IF (nvt_fltr>0) THEN
1045  proot_extinction(:,nvt_fltr) = 0.966
1046  ENDIF
1047  !
1048  IF(gagri_to_grass)THEN
1049  !
1050  IF (nvt_c3/=0) THEN
1051  proot_extinction(:,nvt_c3 )= 0.943
1052  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
1053  proot_extinction(:,nvt_c3w )= 0.943
1054  proot_extinction(:,nvt_c3s )= 0.943
1055  ENDIF
1056  proot_extinction(:,nvt_c4 )= 0.943
1057  IF (nvt_irr/=0) THEN
1058  proot_extinction(:,nvt_irr )= 0.943
1059  ENDIF
1060  !
1061  ELSE
1062  !
1063  IF (nvt_c3/=0) THEN
1064  proot_extinction(:,nvt_c3 )= 0.961
1065  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
1066  proot_extinction(:,nvt_c3w )= 0.961
1067  proot_extinction(:,nvt_c3s )= 0.961
1068  ENDIF
1069  proot_extinction(:,nvt_c4 )= 0.972
1070  IF (nvt_irr/=0) THEN
1071  proot_extinction(:,nvt_irr )= 0.972
1072  ENDIF
1073  !
1074  ENDIF
1075  !
1076  proot_extinction(:,nvt_bogr)= 0.914
1077  proot_extinction(:,nvt_trog)= 0.972
1078  !
1079 ENDIF
1080 !
1081 !-------------------------------------------------------------------------------
1082 !* 7.16 Ponderation coefficient between formulations for cumulative root fraction
1083 ! -------------------------------------------------------------------------
1084 !
1085 IF (PRESENT(proot_lin)) THEN
1086  proot_lin(:,:)= 0.05
1087  proot_lin(:,nvt_trbe)= 0.25
1088 ENDIF
1089 !
1090 !-------------------------------------------------------------------------------
1091 !* 7.17 Coefficient for chemistry deposition of SO2
1092 ! -------------------------------------------
1093 IF (PRESENT(psoilrc_so2)) THEN
1094  !
1095  psoilrc_so2(:,:)= 9999.
1096  psoilrc_so2(:,nvt_tebd)= 500.
1097  psoilrc_so2(:,nvt_trbd)= 500.
1098  psoilrc_so2(:,nvt_tebe)= 500.
1099  psoilrc_so2(:,nvt_bobd)= 500.
1100  psoilrc_so2(:,nvt_shrb)= 500.
1101  psoilrc_so2(:,nvt_bone)= 500.
1102  psoilrc_so2(:,nvt_tene)= 500.
1103  psoilrc_so2(:,nvt_bond)= 500.
1104  psoilrc_so2(:,nvt_trbe)= 200.
1105  IF (nvt_fltr>0) THEN
1106  psoilrc_so2(:,nvt_fltr) = 500.
1107  ENDIF
1108  !
1109  IF(gagri_to_grass)THEN
1110  !
1111  IF (nvt_c3/=0) THEN
1112  psoilrc_so2(:,nvt_c3 )= 350.
1113  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
1114  psoilrc_so2(:,nvt_c3w )= 350.
1115  psoilrc_so2(:,nvt_c3s )= 350.
1116  ENDIF
1117  psoilrc_so2(:,nvt_c4 )= 350.
1118  IF (nvt_irr/=0) THEN
1119  psoilrc_so2(:,nvt_irr )= 350.
1120  ENDIF
1121  !
1122  ELSE
1123  !
1124  IF (nvt_c3/=0) THEN
1125  psoilrc_so2(:,nvt_c3 )= 150.
1126  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
1127  psoilrc_so2(:,nvt_c3w )= 150.
1128  psoilrc_so2(:,nvt_c3s )= 150.
1129  ENDIF
1130  psoilrc_so2(:,nvt_c4 )= 150.
1131  IF (nvt_irr/=0) THEN
1132  psoilrc_so2(:,nvt_irr )= 0.001
1133  ENDIF
1134  !
1135  ENDIF
1136  !
1137  psoilrc_so2(:,nvt_gras)= 350.
1138  psoilrc_so2(:,nvt_bogr)= 350.
1139  !
1140  IF (nvt_park/=0) THEN
1141  psoilrc_so2(:,nvt_park)= 350.
1142  ELSEIF (nvt_flgr/=0) THEN
1143  psoilrc_so2(:,nvt_flgr)= 350.
1144  ENDIF
1145  !
1146  psoilrc_so2(:,nvt_trog)= 350.
1147  psoilrc_so2(:,nvt_no )=1000.
1148  psoilrc_so2(:,nvt_rock)= 400.
1149  psoilrc_so2(:,nvt_snow)= 100.
1150  !
1151 ENDIF
1152 !
1153 !------------------------------------------------------------------------------
1154 !* 7.18 Coefficient for chemistry deposition of O3
1155 ! ------------------------------------------
1156 IF (PRESENT(psoilrc_o3)) THEN
1157  !
1158  psoilrc_o3(:,:)= 9999.
1159  psoilrc_o3(:,nvt_tebd)= 200.
1160  psoilrc_o3(:,nvt_trbd)= 200.
1161  psoilrc_o3(:,nvt_tebe)= 200.
1162  psoilrc_o3(:,nvt_bobd)= 200.
1163  psoilrc_o3(:,nvt_shrb)= 200.
1164  psoilrc_o3(:,nvt_bone)= 200.
1165  psoilrc_o3(:,nvt_tene)= 200.
1166  psoilrc_o3(:,nvt_bond)= 200.
1167  psoilrc_o3(:,nvt_trbe)= 500.
1168  IF (nvt_fltr>0) THEN
1169  psoilrc_o3(:,nvt_fltr) = 200.
1170  ENDIF
1171  !
1172  IF(gagri_to_grass)THEN
1173  !
1174  IF (nvt_c3/=0) THEN
1175  psoilrc_o3(:,nvt_c3 )= 200.
1176  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
1177  psoilrc_o3(:,nvt_c3w )= 200.
1178  psoilrc_o3(:,nvt_c3s )= 200.
1179  ENDIF
1180  psoilrc_o3(:,nvt_c4 )= 200.
1181  IF (nvt_irr/=0) THEN
1182  psoilrc_o3(:,nvt_irr )= 200.
1183  ENDIF
1184  !
1185  ELSE
1186  !
1187  IF (nvt_c3/=0) THEN
1188  psoilrc_o3(:,nvt_c3 )= 150.
1189  ELSEIF (nvt_c3w/=0 .AND. nvt_c3s/=0) THEN
1190  psoilrc_o3(:,nvt_c3w )= 150.
1191  psoilrc_o3(:,nvt_c3s )= 150.
1192  ENDIF
1193  psoilrc_o3(:,nvt_c4 )= 150.
1194  IF (nvt_irr/=0) THEN
1195  psoilrc_o3(:,nvt_irr )=1000.
1196  ENDIF
1197  !
1198  ENDIF
1199  !
1200  psoilrc_o3(:,nvt_gras)= 200.
1201  psoilrc_o3(:,nvt_bogr)= 200.
1202  !
1203  IF (nvt_park/=0) THEN
1204  psoilrc_o3(:,nvt_park)= 200.
1205  ELSEIF (nvt_flgr/=0) THEN
1206  psoilrc_o3(:,nvt_flgr)= 200.
1207  ENDIF
1208  !
1209  psoilrc_o3(:,nvt_trog)= 200.
1210  psoilrc_o3(:,nvt_no )= 400.
1211  psoilrc_o3(:,nvt_rock)= 200.
1212  psoilrc_o3(:,nvt_snow)=3500.
1213  !
1214 ENDIF
1215 !-------------------------------------------------------------------------------
1216 !* 7.15 vegetation and greeness fractions
1217 ! ---------------------------------
1218 IF (PRESENT(pveg_out) .AND. PRESENT(plai)) THEN
1219  DO jm=1,SIZE(pveg_out,2)
1220  DO jc = 1,SIZE(pveg_out,1)
1221  pveg_out(jc,jm,:) = veg_from_lai(plai(jc,jm,:),gagri_to_grass)
1222  ENDDO
1223  ENDDO
1224 ELSEIF (PRESENT(pveg_out) .AND. .NOT. PRESENT(plai)) THEN
1225  CALL abor1_sfx("INI_DATA_PARAM: WHEN CALLING WITH PVEG_OUT, PLAI MUST BE IN ARGUMENTS TOO")
1226 ENDIF
1227 !
1228 
1229 IF (PRESENT(pgreen) .AND. PRESENT(plai)) THEN
1230  DO jm=1,SIZE(pgreen,2)
1231  DO jc = 1,SIZE(pgreen,1)
1232  pgreen(jc,jm,:) = green_from_lai(plai(jc,jm,:),gagri_to_grass)
1233  ENDDO
1234  ENDDO
1235 ELSEIF (PRESENT(pgreen) .AND. .NOT. PRESENT(plai)) THEN
1236  CALL abor1_sfx("INI_DATA_PARAM: WHEN CALLING WITH PGREEN, PLAI MUST BE IN ARGUMENTS TOO")
1237 ENDIF
1238 !-------------------------------------------------------------------------------
1239 !* 7.16 z0
1240 ! --
1241 IF (PRESENT(pz0) .AND. PRESENT(plai) .AND. PRESENT(ph_tree)) THEN
1242  DO jm=1,SIZE(pz0,2)
1243  DO jc = 1,SIZE(pz0,1)
1244  pz0(jc,jm,:) = z0v_from_lai(plai(jc,jm,:),ph_tree(jc,:),gagri_to_grass)
1245  ENDDO
1246  ENDDO
1247 ELSEIF (PRESENT(pz0) .AND. (.NOT. PRESENT(plai) .OR. .NOT. PRESENT(ph_tree))) THEN
1248  CALL abor1_sfx("INI_DATA_PARAM: WHEN CALLING WITH PZ0, PLAI AND PH_TREE MUST BE IN ARGUMENTS TOO")
1249 ENDIF
1250 !-------------------------------------------------------------------------------
1251 !* 7.17 z0/z0h
1252 ! ------
1253 IF (PRESENT(pz0_o_z0h)) pz0_o_z0h(:,:) = 10.
1254 !-------------------------------------------------------------------------------
1255 !* 7.18 emissivity
1256 ! ----------
1257 IF (PRESENT(pemis_eco) .AND. (PRESENT(pveg_in).OR.PRESENT(pveg_out))) THEN
1258  DO jm=1,SIZE(pemis_eco,2)
1259  DO jc = 1,SIZE(pemis_eco,1)
1260  IF (PRESENT(pveg_out)) THEN
1261  pemis_eco(jc,jm,:) = emis_from_veg(pveg_out(jc,jm,:))
1262  ELSEIF (PRESENT(pveg_in)) THEN
1263  pemis_eco(jc,jm,:) = emis_from_veg(pveg_in(jc,jm,:))
1264  ENDIF
1265  ENDDO
1266  ENDDO
1267 ELSEIF (PRESENT(pemis_eco) .AND. .NOT.PRESENT(pveg_in) .AND. .NOT.PRESENT(pveg_out)) THEN
1268  CALL abor1_sfx("INI_DATA_PARAM: WHEN CALLING WITH PEMIS_ECO, PVEG_IN OR PVEG_OUT MUST BE IN ARGUMENTS TOO")
1269 ENDIF
1270 !
1271 !-------------------------------------------------------------------------------
1272 !
1273 !* 7.19 vegetation height
1274 ! -----------------
1275 !
1276 IF (PRESENT(ph_veg) .AND. PRESENT(plai) .AND. PRESENT(ph_tree)) THEN
1277  DO jm=1,SIZE(ph_veg,2)
1278  DO jc = 1,SIZE(ph_veg,1)
1279  ph_veg(jc,jm,:) = veg_height_from_lai(plai(jc,jm,:),ph_tree(jc,:),gagri_to_grass )
1280  ENDDO
1281  ENDDO
1282 ELSEIF (PRESENT(ph_veg) .AND. (.NOT. PRESENT(plai) .OR. .NOT. PRESENT(ph_tree))) THEN
1283  CALL abor1_sfx("INI_DATA_PARAM: WHEN CALLING WITH PH_VEG, PLAI AND PH_TREE MUST BE IN ARGUMENTS TOO")
1284 ENDIF
1285 !
1286 !-------------------------------------------------------------------------------
1287 !
1288 !* 7.21 z0 understory litter
1289 ! --------------------
1290 !
1291 IF (PRESENT(pz0litter)) THEN
1292  pz0litter(:,:,:) = 0.013 ! Roughness for bare soil
1293 ENDIF
1294 !
1295 !-------------------------------------------------------------------------------
1296 !
1297 IF (lhook) CALL dr_hook('INI_DATA_PARAM',1,zhook_handle)
1298 !-------------------------------------------------------------------------------
1299 !
1300 END SUBROUTINE ini_data_param
subroutine abor1_sfx(YTEXT)
Definition: abor1_sfx.F90:7
integer, parameter jprb
Definition: parkind1.F90:32
real, save xday
Definition: modd_csts.F90:45
logical lhook
Definition: yomhook.F90:15
subroutine ini_data_param(PLAI, PH_TREE, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PR