source: branches/ORCHIDEE_EXT/ORCHIDEE/src_parameters/pft_parameters.f90 @ 101

Last change on this file since 101 was 101, checked in by didier.solyga, 11 years ago

Correct the updating of 2D parameters

File size: 48.8 KB
Line 
1!    09/2010
2! This is the module where we define the number of pfts and the values of the
3! parameters
4! author : D.Solyga
5
6MODULE pft_parameters
7
8USE constantes_mtc
9USE constantes
10USE ioipsl
11USE defprec
12
13IMPLICIT NONE
14
15
16  !-------------------------
17  ! PFT global
18  !------------------------
19  ! Number of vegetation types (see constantes_veg)
20  INTEGER(i_std) :: nvm = 13 
21  !-
22  !Table of conversion : we associate one pft to one mtc
23  INTEGER(i_std), ALLOCATABLE, SAVE, DIMENSION (:) :: pft_to_mtc
24  !-
25  ! Description of the PFT
26  CHARACTER(len=34), ALLOCATABLE, SAVE, DIMENSION (:)  :: PFT_name
27  !
28  ! Flag l_first_define_pft
29  LOGICAL, SAVE   :: l_first_define_pft = .TRUE.
30
31  !----------------------
32  ! Vegetation structure
33  !----------------------
34  !-
35  ! 1 .Sechiba
36  !-
37  ! Value for veget_ori for tests in 0-dim simulations
38  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: veget_ori_fixed_test_1
39  ! laimax for maximum lai see also type of lai interpolation
40  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: llaimax
41  ! laimin for minimum lai see also type of lai interpolation
42  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: llaimin
43  ! prescribed height of vegetation.
44  ! Value for height_presc : one for each vegetation type
45  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: height_presc
46  ! Type of behaviour of the LAI evolution algorithm
47  ! for each vegetation type.
48  ! Value of type_of_lai, one for each vegetation type : mean or interp
49  CHARACTER(len=5),ALLOCATABLE, SAVE, DIMENSION (:) :: type_of_lai
50  ! Is the vegetation type a tree ?
51  LOGICAL,ALLOCATABLE, SAVE, DIMENSION (:) :: is_tree
52  !-
53  ! 2 .Stomate
54  !-
55  ! leaf type
56  ! 1=broad leaved tree, 2=needle leaved tree, 3=grass 4=bared ground
57  INTEGER(i_std), ALLOCATABLE, SAVE, DIMENSION (:) :: leaf_tab
58  ! specif leaf area (m**2/gC)
59  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: sla
60  ! natural?
61  LOGICAL, ALLOCATABLE, SAVE, DIMENSION (:) :: natural
62
63
64  !----------------
65  ! Photosynthesis
66  !----------------
67  !-
68  ! 1 .CO2
69  !-
70  ! flag for C4 vegetation types
71  LOGICAL, ALLOCATABLE, SAVE, DIMENSION (:) :: is_c4
72  ! Slope of the gs/A relation (Ball & al.)
73  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: gsslope
74  ! intercept of the gs/A relation (Ball & al.)
75  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: gsoffset
76  ! values used for vcmax when STOMATE is not activated
77  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  ::  vcmax_fix
78  ! values used for vjmax when STOMATE is not activated
79  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: vjmax_fix
80  ! values used for photosynthesis tmin when STOMATE is not activated
81  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: co2_tmin_fix
82  ! values used for photosynthesis topt when STOMATE is not activated
83  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: co2_topt_fix
84  ! values used for photosynthesis tmax when STOMATE is not activated
85  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: co2_tmax_fix
86  !-
87  ! 2 .Stomate
88  !-
89  ! extinction coefficient of the Monsi&Seaki relationship (1953)
90  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: ext_coeff ! = ext_coef in sechiba
91  ! Maximum rate of carboxylation
92  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: vcmax_opt
93  ! Maximum rate of RUbp regeneration
94  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: vjmax_opt
95  ! minimum photosynthesis temperature,
96  ! constant a of ax^2+bx+c (deg C),tabulated
97  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: tphoto_min_a
98  ! minimum photosynthesis temperature,
99  ! constant b of ax^2+bx+c (deg C),tabulated
100  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)   :: tphoto_min_b 
101  ! minimum photosynthesis temperature,
102  ! constant c of ax^2+bx+c (deg C),tabulated
103  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)   :: tphoto_min_c 
104  ! optimum photosynthesis temperature,
105  ! constant a of ax^2+bx+c (deg C),tabulated
106  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: tphoto_opt_a 
107  ! optimum photosynthesis temperature,
108  ! constant b of ax^2+bx+c (deg C),tabulated
109  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: tphoto_opt_b 
110  ! optimum photosynthesis temperature,
111  ! constant c of ax^2+bx+c (deg C),tabulated
112  REAL(r_std),  ALLOCATABLE, SAVE, DIMENSION (:)  :: tphoto_opt_c
113  ! maximum photosynthesis temperature,
114  ! constant a of ax^2+bx+c (deg C), tabulated
115  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: tphoto_max_a
116  ! maximum photosynthesis temperature,
117  ! constant b of ax^2+bx+c (deg C), tabulated
118  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)   :: tphoto_max_b 
119  ! maximum photosynthesis temperature,
120  ! constant c of ax^2+bx+c (deg C), tabulated
121  REAL(r_std),  ALLOCATABLE, SAVE, DIMENSION (:)   :: tphoto_max_c 
122
123
124  !-----------------------
125  ! Respiration - stomate
126  !-----------------------
127  !
128!-! slope of maintenance respiration coefficient (1/K, 1/K^2, 1/K^3), used in the code
129  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:,:)        :: maint_resp_slope
130  ! slope of maintenance respiration coefficient (1/K),
131  ! constant c of aT^2+bT+c , tabulated
132  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: maint_resp_slope_c
133  ! slope of maintenance respiration coefficient (1/K),
134  ! constant b of aT^2+bT+c , tabulated
135  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: maint_resp_slope_b
136  ! slope of maintenance respiration coefficient (1/K),
137  ! constant a of aT^2+bT+c , tabulated
138  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: maint_resp_slope_a
139!- ! maintenance respiration coefficient (g/g/day) at 0 deg C, used in the code
140  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:,:) :: coeff_maint_zero
141  ! maintenance respiration coefficient (g/g/day) at 0 deg C,
142  ! for leaves, tabulated
143  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: cm_zero_leaf
144  ! maintenance respiration coefficient (g/g/day) at 0 deg C,
145  ! for sapwood above, tabulated
146  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: cm_zero_sapabove
147  ! maintenance respiration coefficient (g/g/day) at 0 deg C,
148  ! for sapwood below, tabulated
149  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: cm_zero_sapbelow
150  ! maintenance respiration coefficient (g/g/day) at 0 deg C,
151  ! for heartwood above, tabulated
152  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: cm_zero_heartabove
153  ! maintenance respiration coefficient (g/g/day) at 0 deg C,
154  ! for heartwood below, tabulated
155  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: cm_zero_heartbelow
156  ! maintenance respiration coefficient (g/g/day) at 0 deg C,
157  ! for roots, tabulated
158  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: cm_zero_root
159  ! maintenance respiration coefficient (g/g/day) at 0 deg C,
160  ! for fruits, tabulated
161  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: cm_zero_fruit
162  ! maintenance respiration coefficient (g/g/day) at 0 deg C,
163  ! for carbohydrate reserve, tabulated
164  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) ::cm_zero_carbres
165 
166
167
168  !----------------
169  ! Fire - stomate
170  !----------------
171
172  ! flamability: critical fraction of water holding capacity
173  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: flam
174  ! fire resistance
175  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: resist
176
177
178
179  !---------------
180  ! Flux - LUC
181  !---------------
182  !
183  ! Coeff of biomass export for the year
184  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: coeff_lcchange_1
185  ! Coeff of biomass export for the decade
186  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: coeff_lcchange_10
187  ! Coeff of biomass export for the century
188  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: coeff_lcchange_100
189 
190
191  !-----------
192  ! Phenology
193  !-----------
194  !-
195  ! 1 .Stomate
196  !-
197  !
198  ! maximum LAI, PFT-specific
199  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: lai_max 
200  ! which phenology model is used? (tabulated)
201  CHARACTER(len=6), ALLOCATABLE, SAVE, DIMENSION (:) :: pheno_model
202  ! type of phenology
203  ! 0=bared ground 1=evergreen,  2=summergreen,  3=raingreen,  4=perennial
204  ! Pour l'instant, le phénotype de sol nu n'est pas géré aussi on traitera les sols
205  INTEGER(i_std), ALLOCATABLE, SAVE, DIMENSION (:) :: pheno_type
206  !-
207  ! 2. Leaf Onset
208  !-
209!-! critical gdd,tabulated (C), used in the code
210  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:,:) :: pheno_gdd_crit
211  ! critical gdd,tabulated (C), constant c of aT^2+bT+c
212  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: pheno_gdd_crit_c
213  ! critical gdd,tabulated (C), constant b of aT^2+bT+c
214  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) ::  pheno_gdd_crit_b
215  ! critical gdd,tabulated (C), constant a of aT^2+bT+c
216  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) ::  pheno_gdd_crit_a
217  ! critical ngd,tabulated. Threshold -5 degrees
218  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: ngd_crit
219  ! critical temperature for the ncd vs. gdd function in phenology
220  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) ::  ncdgdd_temp
221  ! critical humidity (relative to min/max) for phenology
222  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) ::  hum_frac
223  ! minimum duration of dormance (d) for phenology
224  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: lowgpp_time
225  ! minimum time elapsed since moisture minimum (d)
226  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)  :: hum_min_time
227  ! sapwood -> heartwood conversion time (d)
228  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: tau_sap
229  ! fruit lifetime (d)
230  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: tau_fruit
231  ! fraction of primary leaf and root allocation put into reserve
232  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: ecureuil
233  ! NEW - allocation above/below = f(age) - 30/01/04 NV/JO/PF
234  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: alloc_min
235  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: alloc_max
236  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: demi_alloc
237  !-
238  ! 3. Senescence
239  !-
240  ! length of death of leaves,tabulated (d)
241  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: leaffall 
242  ! critical leaf age,tabulated (d)
243  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: leafagecrit
244  ! type of senescence,tabulated
245  ! List of avaible types of senescence :
246  ! 'cold  ', 'dry   ', 'mixed ', 'none  '
247  CHARACTER(len=6), ALLOCATABLE, SAVE, DIMENSION (:) :: senescence_type
248  ! critical relative moisture availability for senescence
249  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: senescence_hum
250  ! relative moisture availability above which
251  ! there is no humidity-related senescence
252  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: nosenescence_hum
253  ! maximum turnover time for grasse
254  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: max_turnover_time
255  ! minimum turnover time for grasse
256  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: min_turnover_time
257  ! minimum leaf age to allow senescence g
258  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: min_leaf_age_for_senescence
259!-! critical temperature for senescence (C), used in the code
260  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:,:) :: senescence_temp
261  ! critical temperature for senescence (C),
262  ! constant c of aT^2+bT+c , tabulated
263  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) ::  senescence_temp_c
264  ! critical temperature for senescence (C),
265  ! constant b of aT^2+bT+c , tabulated
266  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: senescence_temp_b
267  ! critical temperature for senescence (C),
268  ! constant a of aT^2+bT+c , tabulated
269  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: senescence_temp_a
270
271
272  !-----------
273  ! DGVM
274  !-----------
275  !-
276  ! residence time (y) of trees
277  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: residence_time
278  ! critical tmin, tabulated (C)
279  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: tmin_crit
280  ! critical tcm, tabulated (C)
281  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) ::  tcm_crit
282
283
284  !-------------------------------
285  ! Evapotranspiration -  sechiba
286  !-------------------------------
287  !-
288  ! Structural resistance.
289  ! Value for rstruct_const : one for each vegetation type
290  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: rstruct_const
291  !
292  ! A vegetation dependent constant used in the calculation
293  ! of the surface resistance.
294  ! Value for kzero one for each vegetation type
295  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: kzero 
296
297
298  !-------------------
299  ! Water - sechiba
300  !-------------------
301  !-
302  ! Maximum field capacity for each of the vegetations (Temporary).
303  ! Value of wmax_veg : max quantity of water :
304  ! one for each vegetation type en Kg/M3
305  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: wmax_veg
306  ! Root profile description for the different vegetation types.
307  ! These are the factor in the exponential which gets
308  ! the root density as a function of depth
309  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: humcste
310
311
312  !------------------
313  ! Albedo - sechiba
314  !------------------
315  !-
316  ! Initial snow albedo value for each vegetation type
317  ! as it will be used in condveg_snow
318  ! Values are from the Thesis of S. Chalita (1992)
319  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: snowa_ini
320  !
321  ! Decay rate of snow albedo value for each vegetation type
322  ! as it will be used in condveg_snow
323  ! Values are from the Thesis of S. Chalita (1992)
324  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: snowa_dec
325  !
326  ! leaf albedo of vegetation type, visible albedo
327  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: alb_leaf_vis
328  ! leaf albedo of vegetation type, near infrared albedo
329  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: alb_leaf_nir
330  ! leaf albedo of vegetation type, VIS+NIR
331  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: alb_leaf
332
333
334  !
335  !------------------------
336  !   Soil - vegetation
337  !------------------------
338
339  ! Table which contains the correlation between the soil types
340  ! and vegetation type. Two modes exist :
341  !  1) pref_soil_veg = 0 then we have an equidistribution
342  !     of vegetation on soil types
343  !  2) Else for each pft the prefered soil type is given :
344  !     1=sand, 2=loan, 3=clay
345  ! The variable is initialized in slowproc.
346  INTEGER(i_std), ALLOCATABLE, SAVE, DIMENSION (:,:) :: pref_soil_veg
347  INTEGER(i_std), ALLOCATABLE, SAVE, DIMENSION (:) :: pref_soil_veg_sand
348  INTEGER(i_std), ALLOCATABLE, SAVE, DIMENSION (:) :: pref_soil_veg_loan
349  INTEGER(i_std), ALLOCATABLE, SAVE, DIMENSION (:) :: pref_soil_veg_clay
350
351
352  !
353  !--------------------------------------------
354  ! Internal parameters used in stomate_data
355  !-------------------------------------------
356  !
357  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)   :: lai_initmin
358  ! is pft a tree
359  LOGICAL,   ALLOCATABLE, SAVE, DIMENSION (:)    :: tree
360  ! sapling biomass (gC/ind)
361  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:,:)  :: bm_sapl
362  ! migration speed (m/year)
363  REAL(r_std),  ALLOCATABLE, SAVE, DIMENSION (:)    :: migrate
364  ! maximum stem diameter from which on crown area no longer increases (m)m
365  REAL(r_std),  ALLOCATABLE, SAVE, DIMENSION (:)     :: maxdia
366  ! crown of tree when sapling (m**2)
367  REAL(r_std),  ALLOCATABLE, SAVE, DIMENSION (:)    :: cn_sapl
368  ! time constant for leaf age discretisation (d)
369  REAL(r_std),  ALLOCATABLE, SAVE, DIMENSION (:)    :: leaf_timecst
370
371
372  !-------------------------------
373  ! Parameters already externalised (from sechiba)
374  ! to classify
375  !----------------------------------
376  !
377  ! used in hydrolc
378  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)   :: throughfall_by_pft
379  ! used in diffuco   !! Nathalie le 28 mars 2006 - sur proposition de Fred Hourdin, ajout
380  !! d'un potentiometre pour regler la resistance de la vegetation
381  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)      ::  rveg_pft
382
383
384CONTAINS
385 !
386 SUBROUTINE pft_main 
387 
388   IMPLICIT NONE
389
390   ! Local 
391    INTEGER(i_std) :: i
392
393   !----------------------
394   ! PFT global
395   !----------------------
396
397   IF(l_first_define_pft) THEN
398
399      IF(long_print) THEN
400         WRITE(numout,*) 'l_first_define_pft :we read the parameters from the def files'
401      ENDIF
402
403      ! Allocation of memory for the pfts-parameters
404      CALL pft_alloc
405
406      ! Initialisation of the correspondance table
407      pft_to_mtc (:) = undef_integer
408     
409      ! Reading of the conrrespondance table in the .def file
410      CALL getin('PFT_TO_MTC',pft_to_mtc)
411
412      ! Add the standard configuration
413      IF(nvm .EQ. 13 ) THEN
414         IF(pft_to_mtc(1) .EQ. undef_integer) THEN
415            WRITE(numout,*) 'Note to the user : we will use ORCHIDEE to its standard configuration'
416            pft_to_mtc(:) = (/ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 /)
417         ENDIF
418      ELSE   
419         IF(pft_to_mtc(1) .EQ. undef_integer) THEN
420            WRITE(numout,*)' The array PFT_TO_MTC is empty : we stop'
421         ENDIF
422      ENDIF
423
424     ! What happened if pft_to_mtc(j) > nvmc (if the mtc doesn't exist)?
425       DO i = 1, nvm
426          IF(pft_to_mtc(i) .GT. nvmc) THEN
427             WRITE(numout,*) "the MTC you chose doesn't exist"
428             STOP 'we stop reading pft_to_mtc'
429          ENDIF
430       ENDDO   
431
432
433      ! Verify if pft_to_mtc(1) = 1
434       IF(pft_to_mtc(1) .NE. 1) THEN
435          WRITE(numout,*) 'the first pft has to be the bare soil'
436          STOP 'we stop reading next values of pft_to_mtc'
437       ELSE
438          DO i = 2,nvm
439             IF(pft_to_mtc(i) .EQ.1) THEN
440                WRITE(numout,*) 'only pft_to_mtc(1) has to be the bare soil'
441                STOP 'we stop reading pft_to_mtc'
442             ENDIF
443          ENDDO
444       ENDIF
445     
446   
447      ! Initialisation of the pfts-parameters
448      CALL pft_init
449
450      ! Could be useful : correspondance between the number of the pft
451      ! and the name of the associated mtc
452      DO i = 1,nvm
453         WRITE(numout,*) 'the PFT',i,'corresponds to the MTC : ',PFT_name(i) 
454      ENDDO
455
456
457      !------------------------------------------------------!
458      ! Declaration of tables 2D  which are used in the code !
459      !------------------------------------------------------!
460      !
461      !- pheno_gdd_crit
462      pheno_gdd_crit(:,:) = zero 
463!!$      pheno_gdd_crit(:,1) = pheno_gdd_crit_c(:)
464!!$      pheno_gdd_crit(:,2) = pheno_gdd_crit_b(:)         
465!!$      pheno_gdd_crit(:,3) = pheno_gdd_crit_a(:)
466      !
467      !- senescence_temp
468      senescence_temp(:,:) = zero
469!!$      senescence_temp(:,1) = senescence_temp_c(:)
470!!$      senescence_temp(:,2) = senescence_temp_b(:)
471!!$      senescence_temp(:,3) = senescence_temp_a(:)
472      !
473      !- maint_resp_slope
474      maint_resp_slope(:,:) = zero
475!!$      maint_resp_slope(:,1)= maint_resp_slope_c(:)             
476!!$      maint_resp_slope(:,2) = maint_resp_slope_b(:)
477!!$      maint_resp_slope(:,3) = maint_resp_slope_a(:)
478      !
479      !-coeff_maint_zero
480      coeff_maint_zero(:,:) = zero
481!!$      coeff_maint_zero(:,ileaf) = cm_zero_leaf(:)
482!!$      coeff_maint_zero(:,isapabove) = cm_zero_sapabove(:)
483!!$      coeff_maint_zero(:,isapbelow) = cm_zero_sapbelow(:)
484!!$      coeff_maint_zero(:,iheartabove) = cm_zero_heartabove(:)
485!!$      coeff_maint_zero(:,iheartbelow) = cm_zero_heartbelow(:)
486!!$      coeff_maint_zero(:,iroot) = cm_zero_root(:)
487!!$      coeff_maint_zero(:,ifruit) = cm_zero_fruit(:)
488!!$      coeff_maint_zero(:,icarbres) = cm_zero_carbres(:)
489      !
490      !-alb_leaf
491      alb_leaf(:) = zero
492!!$      alb_leaf(1:nvm) = alb_leaf_vis(1:nvm)
493!!$      DO i = nvm+1, 2*nvm
494!!$         alb_leaf(i) = alb_leaf_nir(i-nvm)
495!!$      ENDDO
496      !- pref_soil_veg (see slowproc)
497
498   ELSE
499
500       l_first_define_pft = .FALSE.
501       
502       RETURN
503
504   ENDIF
505
506 END SUBROUTINE pft_main
507 !
508 !=
509 !
510 SUBROUTINE pft_init
511 
512   IMPLICIT NONE
513   
514   !------------
515   ! local
516   INTEGER(i_std) :: j,k
517   !------------
518
519   ! Initialisation !! not all the parameters are initialized
520
521   !----------------------
522   ! Vegetation structure
523   !----------------------
524   !-
525   ! 1 .Sechiba
526   !-
527   veget_ori_fixed_test_1(:) = zero
528   llaimax(:) = zero
529   llaimin(:) = zero
530   height_presc(:) = zero
531   !-
532   ! 2 .Stomate
533   !
534   leaf_tab(:) = zero_int
535   sla(:) = zero   
536   !----------------
537   ! Photosynthesis
538   !----------------
539   !-
540   ! 1 .CO2
541   !-
542   gsslope(:) = zero
543   gsoffset(:) = zero
544   vcmax_fix(:) = zero
545   vjmax_fix(:) = zero
546   co2_tmin_fix(:) = zero
547   co2_topt_fix(:) = zero
548   co2_tmax_fix(:) = zero
549   !-
550   ! 2 .Stomate
551   !-
552   ext_coeff(:) = zero
553   vcmax_opt(:) = zero
554   vjmax_opt(:) = zero
555   tphoto_min_a(:) = zero
556   tphoto_min_b(:) = zero
557   tphoto_min_c(:) = zero
558   tphoto_opt_a(:) = zero
559   tphoto_opt_b(:) = zero
560   tphoto_opt_c(:) = zero
561   tphoto_max_a(:) = zero
562   tphoto_max_b(:) = zero
563   tphoto_max_c(:) = zero
564   !----------------------
565   ! Respiration - stomate
566   !----------------------
567   !
568   maint_resp_slope_c(:) = zero
569   maint_resp_slope_b(:) = zero
570   maint_resp_slope_a(:) = zero
571   cm_zero_leaf(:) = zero
572   cm_zero_sapabove(:) = zero
573   cm_zero_sapbelow(:) = zero
574   cm_zero_heartabove(:) = zero
575   cm_zero_heartbelow(:) = zero
576   cm_zero_root(:) = zero
577   cm_zero_fruit(:) = zero
578   cm_zero_carbres(:) = zero
579   !----------------
580   ! Fire - stomate
581   !---------------
582   !
583   flam(:) = zero
584   resist(:) = zero
585   !----------------
586   ! Flux - LUC
587   !---------------
588   !
589   coeff_lcchange_1(:) = zero
590   coeff_lcchange_10(:) = zero
591   coeff_lcchange_100(:) = zero
592   !
593   !-----------
594   ! Phenology
595   !-----------
596   !-
597   ! 1 .Stomate
598   !-
599   lai_max(:) = zero
600   pheno_type(:) = zero_int
601   !-
602   ! 2. Leaf Onset
603   !-
604   pheno_gdd_crit_c(:) = zero
605   pheno_gdd_crit_b(:) = zero
606   pheno_gdd_crit_a(:) = zero
607   ngd_crit(:) = zero
608   ncdgdd_temp(:) = zero
609   hum_frac(:) = zero
610   lowgpp_time(:) = zero
611   hum_min_time(:) = zero
612   tau_sap(:) = zero
613   tau_fruit(:) = zero
614   ecureuil(:) = zero
615   alloc_min(:) = zero
616   alloc_max(:) = zero
617   demi_alloc(:) = zero 
618   !-
619   ! 3. Senescence
620   !-
621   leaffall(:) = zero
622   leafagecrit(:) = zero
623   senescence_hum(:) = zero
624   nosenescence_hum(:) = zero
625   max_turnover_time(:) = zero   
626   min_turnover_time(:) = zero 
627   min_leaf_age_for_senescence(:) = zero 
628   senescence_temp_c(:) = zero 
629   senescence_temp_b(:) = zero 
630   senescence_temp_a(:) = zero 
631   !-----------
632   ! DGVM
633   !-----------
634   !
635   residence_time(:) = zero
636   tmin_crit(:) = zero
637   tcm_crit(:) = zero
638   !-------------------------------
639   ! Evapotranspiration -  sechiba
640   !-------------------------------
641   !-
642   rstruct_const(:) = zero
643   kzero(:) = zero
644   !-------------------
645   ! Water - sechiba
646   !-------------------
647   !-
648   wmax_veg(:) = zero
649   humcste(:) = zero
650   !------------------
651   ! Albedo - sechiba
652   !------------------
653   !-
654   snowa_ini(:) = zero
655   snowa_dec(:) = zero
656   alb_leaf_vis(:) = zero
657   alb_leaf_nir(:) = zero
658   !------------------------
659   !   Soil - vegetation
660   !------------------------
661   pref_soil_veg(:,:) = zero_int
662
663   !------------------------
664   !  Internal_parameters
665   !------------------------
666   lai_initmin(:) = zero
667   bm_sapl(:,:) = zero
668   migrate(:) = zero
669   maxdia(:) = zero
670   cn_sapl(:) = zero
671   leaf_timecst(:) = zero 
672   !-------------------------------
673   ! Parameters already externalised (from sechiba)
674   ! to classify
675   !----------------------------------
676   throughfall_by_pft(:) = zero
677   rveg_pft(:) = zero
678
679
680   !-------------------------------------------------------------!
681   ! Correspondance between the PFTs values and thes MTCs values !
682   !-------------------------------------------------------------! 
683 
684   DO j= 1, nvm
685
686
687      PFT_name(j) = MTC_name(pft_to_mtc(j))
688
689      !----------------------
690      ! Vegetation structure
691      !----------------------
692      !-
693      ! 1 .Sechiba
694      !-
695      veget_ori_fixed_test_1(j) = veget_ori_fixed_mtc(pft_to_mtc(j))
696      llaimax(j) = llaimax_mtc(pft_to_mtc(j))
697      llaimin(j) = llaimin_mtc(pft_to_mtc(j))
698      height_presc(j) = height_presc_mtc(pft_to_mtc(j))
699      type_of_lai(j) = type_of_lai_mtc(pft_to_mtc(j))
700      is_tree(j) = is_tree_mtc(pft_to_mtc(j))
701      !-
702      ! 2 .Stomate
703      !-
704      leaf_tab(j) = leaf_tab_mtc(pft_to_mtc(j))
705      sla(j) = sla_mtc(pft_to_mtc(j))
706      natural(j) = natural_mtc(pft_to_mtc(j))
707      !----------------
708      ! Photosynthesis
709      !----------------
710      !-
711      ! 1 .CO2
712      !-
713      is_c4(j) = is_c4_mtc(pft_to_mtc(j))
714      gsslope(j) = gsslope_mtc(pft_to_mtc(j))
715      gsoffset(j) = gsoffset_mtc(pft_to_mtc(j))
716      vcmax_fix(j) = vcmax_fix_mtc(pft_to_mtc(j))
717      vjmax_fix(j) = vjmax_fix_mtc(pft_to_mtc(j))
718      co2_tmin_fix(j) = co2_tmin_fix_mtc(pft_to_mtc(j))
719      co2_topt_fix(j) = co2_topt_fix_mtc(pft_to_mtc(j))
720      co2_tmax_fix(j) = co2_tmax_fix_mtc(pft_to_mtc(j))
721      !-
722      ! 2 .Stomate
723      !-
724      ext_coeff(j) = ext_coeff_mtc(pft_to_mtc(j))
725      vcmax_opt(j) = vcmax_opt_mtc(pft_to_mtc(j))
726      vjmax_opt(j) = vjmax_opt_mtc(pft_to_mtc(j)) 
727      tphoto_min_a(j) = tphoto_min_a_mtc(pft_to_mtc(j)) 
728      tphoto_min_b(j) = tphoto_min_b_mtc(pft_to_mtc(j))
729      tphoto_min_c(j) = tphoto_min_c_mtc(pft_to_mtc(j))
730      tphoto_opt_a(j) = tphoto_opt_a_mtc(pft_to_mtc(j))
731      tphoto_opt_b(j) = tphoto_opt_b_mtc(pft_to_mtc(j))
732      tphoto_opt_c(j) = tphoto_opt_c_mtc(pft_to_mtc(j))
733      tphoto_max_a(j) = tphoto_max_a_mtc(pft_to_mtc(j))
734      tphoto_max_b(j) = tphoto_max_b_mtc(pft_to_mtc(j))
735      tphoto_max_c(j) = tphoto_max_c_mtc(pft_to_mtc(j))
736      !----------------------
737      ! Respiration - stomate
738      !----------------------
739      maint_resp_slope_c(j) = maint_resp_slope_c_mtc(pft_to_mtc(j))               
740      maint_resp_slope_b(j) = maint_resp_slope_b_mtc(pft_to_mtc(j))
741      maint_resp_slope_a(j) = maint_resp_slope_a_mtc(pft_to_mtc(j))
742      cm_zero_leaf(j)= cm_zero_leaf_mtc(pft_to_mtc(j))
743      cm_zero_sapabove(j) = cm_zero_sapabove_mtc(pft_to_mtc(j))
744      cm_zero_sapbelow(j) = cm_zero_sapbelow_mtc(pft_to_mtc(j)) 
745      cm_zero_heartabove(j) = cm_zero_heartabove_mtc(pft_to_mtc(j)) 
746      cm_zero_heartbelow(j) = cm_zero_heartbelow_mtc(pft_to_mtc(j))
747      cm_zero_root(j) = cm_zero_root_mtc(pft_to_mtc(j))
748      cm_zero_fruit(j) = cm_zero_fruit_mtc(pft_to_mtc(j))
749      cm_zero_carbres(j) = cm_zero_carbres_mtc(pft_to_mtc(j))
750      !----------------
751      ! Fire - stomate
752      !---------------
753      flam(j) = flam_mtc(pft_to_mtc(j))
754      resist(j) = resist_mtc(pft_to_mtc(j))
755      !----------------
756      ! Flux - LUC
757      !---------------
758      coeff_lcchange_1(j) = coeff_lcchange_1_mtc(pft_to_mtc(j))
759      coeff_lcchange_10(j) = coeff_lcchange_10_mtc(pft_to_mtc(j))
760      coeff_lcchange_100(j) = coeff_lcchange_100_mtc(pft_to_mtc(j))
761      !-----------
762      ! Phenology
763      !-----------
764      !-
765      ! 1 .Stomate
766      !-
767      lai_max(j) = lai_max_mtc(pft_to_mtc(j))
768      pheno_model(j) = pheno_model_mtc(pft_to_mtc(j))
769      pheno_type(j) = pheno_type_mtc(pft_to_mtc(j))
770      !-
771      ! 2. Leaf Onset
772      !-
773      pheno_gdd_crit_c(j) = pheno_gdd_crit_c_mtc(pft_to_mtc(j))
774      pheno_gdd_crit_b(j) = pheno_gdd_crit_b_mtc(pft_to_mtc(j))         
775      pheno_gdd_crit_a(j) = pheno_gdd_crit_a_mtc(pft_to_mtc(j))
776      ngd_crit(j) =  ngd_crit_mtc(pft_to_mtc(j))
777      ncdgdd_temp(j) = ncdgdd_temp_mtc(pft_to_mtc(j)) 
778      hum_frac(j) = hum_frac_mtc(pft_to_mtc(j))
779      lowgpp_time(j) = lowgpp_time_mtc(pft_to_mtc(j))
780      hum_min_time(j) = hum_min_time_mtc(pft_to_mtc(j))
781      tau_sap(j) =tau_sap_mtc(pft_to_mtc(j))
782      tau_fruit(j) =tau_fruit_mtc(pft_to_mtc(j))
783      ecureuil(j) = ecureuil_mtc(pft_to_mtc(j))
784      alloc_min(j) = alloc_min_mtc(pft_to_mtc(j))
785      alloc_max(j) = alloc_max_mtc(pft_to_mtc(j))
786      demi_alloc(j) = demi_alloc_mtc(pft_to_mtc(j))
787      !-
788      ! 3. Senescence
789      !-
790      leaffall(j) = leaffall_mtc(pft_to_mtc(j))
791      leafagecrit(j) = leafagecrit_mtc(pft_to_mtc(j))
792      senescence_type(j) = senescence_type_mtc(pft_to_mtc(j)) 
793      senescence_hum(j) = senescence_hum_mtc(pft_to_mtc(j)) 
794      nosenescence_hum(j) = nosenescence_hum_mtc(pft_to_mtc(j)) 
795      max_turnover_time(j) = max_turnover_time_mtc(pft_to_mtc(j))
796      min_turnover_time(j) = min_turnover_time_mtc(pft_to_mtc(j))
797      min_leaf_age_for_senescence(j) = min_leaf_age_for_senescence_mtc(pft_to_mtc(j))
798      senescence_temp_c(j) = senescence_temp_c_mtc(pft_to_mtc(j))
799      senescence_temp_b(j) = senescence_temp_b_mtc(pft_to_mtc(j))
800      senescence_temp_a(j) = senescence_temp_a_mtc(pft_to_mtc(j))
801      !-----------
802      ! DGVM
803      !-----------
804      residence_time(j) = residence_time_mtc(pft_to_mtc(j))
805      tmin_crit(j) = tmin_crit_mtc(pft_to_mtc(j))
806      tcm_crit(j) =  tcm_crit_mtc(pft_to_mtc(j))
807     
808      !-------------------------------
809      ! Evapotranspiration -  sechiba
810      !-------------------------------
811      !-
812      rstruct_const(j) = rstruct_const_mtc(pft_to_mtc(j))
813      kzero(j) = kzero_mtc(pft_to_mtc(j))
814      !-------------------
815      ! Water - sechiba
816      !-------------------
817      !-
818      wmax_veg(j) = wmax_veg_mtc(pft_to_mtc(j))
819      humcste(j) = humcste_mtc(pft_to_mtc(j))
820      !------------------
821      ! Albedo - sechiba
822      !------------------
823      !-
824      snowa_ini(j) = snowa_ini_mtc(pft_to_mtc(j))
825      snowa_dec(j) = snowa_dec_mtc(pft_to_mtc(j)) 
826      alb_leaf_vis(j) = alb_leaf_vis_mtc(pft_to_mtc(j)) 
827      alb_leaf_nir(j) = alb_leaf_nir_mtc(pft_to_mtc(j))
828      !------------------------
829      !   Soil - vegetation
830      !------------------------
831      pref_soil_veg_sand(j) = pref_soil_veg_sand_mtc(pft_to_mtc(j))
832      pref_soil_veg_loan(j) = pref_soil_veg_loan_mtc(pft_to_mtc(j))
833      pref_soil_veg_clay(j) = pref_soil_veg_clay_mtc(pft_to_mtc(j))
834      !-------------------------------
835      ! Parameters already externalised (from sechiba)
836      ! to classify
837      !----------------------------------
838      throughfall_by_pft(j) = throughfall_by_mtc(pft_to_mtc(j))
839      rveg_pft(j) = rveg_mtc(pft_to_mtc(j))
840
841  ! end loop over nvm   
842   ENDDO
843
844 END SUBROUTINE pft_init
845 !
846 !=
847 !
848 SUBROUTINE pft_alloc
849
850   IMPLICIT NONE
851   !------------------
852   ! local
853    LOGICAL ::  l_error
854    INTEGER :: ier
855   !-----------------
856
857   l_error = .FALSE.
858   ALLOCATE(pft_to_mtc(nvm),stat=ier)
859   l_error = l_error .OR. (ier .NE. 0)
860   ALLOCATE(PFT_name(nvm),stat=ier)
861   l_error = l_error .OR. (ier .NE. 0)
862   !-
863   ALLOCATE(veget_ori_fixed_test_1(nvm),stat=ier)
864   l_error = l_error .OR. (ier .NE. 0)
865   ALLOCATE(llaimax(nvm),stat=ier)
866   l_error = l_error .OR. (ier .NE. 0)
867   ALLOCATE(llaimin(nvm),stat=ier)
868   l_error = l_error .OR. (ier .NE. 0)
869   ALLOCATE(height_presc(nvm),stat=ier)
870   l_error = l_error .OR. (ier .NE. 0)
871   ALLOCATE(type_of_lai(nvm),stat=ier)
872   l_error = l_error .OR. (ier .NE. 0)   
873   ALLOCATE(is_tree(nvm),stat=ier)
874   l_error = l_error .OR. (ier .NE. 0)   
875   !-
876   ALLOCATE(leaf_tab(nvm),stat=ier)
877   l_error = l_error .OR. (ier .NE. 0)
878   ALLOCATE(sla(nvm),stat=ier)
879   l_error = l_error .OR. (ier .NE. 0)   
880   ALLOCATE(natural(nvm),stat=ier)
881   l_error = l_error .OR. (ier .NE. 0)
882   !-
883   ALLOCATE(is_c4(nvm),stat=ier)
884   l_error = l_error .OR. (ier .NE. 0)
885   ALLOCATE(gsslope(nvm),stat=ier)
886   l_error = l_error .OR. (ier .NE. 0)
887   ALLOCATE(gsoffset(nvm),stat=ier)
888   l_error = l_error .OR. (ier .NE. 0)
889   ALLOCATE(vcmax_fix(nvm),stat=ier)
890   l_error = l_error .OR. (ier .NE. 0)
891   ALLOCATE(vjmax_fix(nvm),stat=ier)
892   l_error = l_error .OR. (ier .NE. 0)
893   ALLOCATE(co2_tmin_fix(nvm),stat=ier)
894   l_error = l_error .OR. (ier .NE. 0)
895   ALLOCATE(co2_topt_fix(nvm),stat=ier)
896   l_error = l_error .OR. (ier .NE. 0)
897   ALLOCATE(co2_tmax_fix(nvm),stat=ier)
898   l_error = l_error .OR. (ier .NE. 0)
899   !-
900   ALLOCATE(ext_coeff(nvm),stat=ier)
901   l_error = l_error .OR. (ier .NE. 0) 
902   ALLOCATE(vcmax_opt(nvm),stat=ier)
903   l_error = l_error .OR. (ier .NE. 0) 
904   ALLOCATE(vjmax_opt(nvm),stat=ier)
905   l_error = l_error .OR. (ier .NE. 0)
906   ALLOCATE(tphoto_min_a(nvm),stat=ier)
907   l_error = l_error .OR. (ier .NE. 0) 
908   ALLOCATE(tphoto_min_b(nvm),stat=ier)
909   l_error = l_error .OR. (ier .NE. 0) 
910   ALLOCATE(tphoto_min_c(nvm),stat=ier)
911   l_error = l_error .OR. (ier .NE. 0) 
912   ALLOCATE(tphoto_opt_a(nvm),stat=ier)
913   l_error = l_error .OR. (ier .NE. 0) 
914   ALLOCATE(tphoto_opt_b(nvm),stat=ier)
915   l_error = l_error .OR. (ier .NE. 0) 
916   ALLOCATE(tphoto_opt_c(nvm),stat=ier)
917   l_error = l_error .OR. (ier .NE. 0) 
918   ALLOCATE(tphoto_max_a(nvm),stat=ier)
919   l_error = l_error .OR. (ier .NE. 0) 
920   ALLOCATE(tphoto_max_b(nvm),stat=ier)
921   l_error = l_error .OR. (ier .NE. 0) 
922   ALLOCATE(tphoto_max_c(nvm),stat=ier)
923   l_error = l_error .OR. (ier .NE. 0) 
924   !-
925   ALLOCATE(pheno_gdd_crit_c(nvm),stat=ier)
926   l_error = l_error .OR. (ier .NE. 0)
927   ALLOCATE(pheno_gdd_crit_b(nvm),stat=ier)
928   l_error = l_error .OR. (ier .NE. 0)
929   ALLOCATE(pheno_gdd_crit_a(nvm),stat=ier)
930   l_error = l_error .OR. (ier .NE. 0)
931   ALLOCATE(pheno_gdd_crit(nvm,3),stat=ier)
932   l_error = l_error .OR. (ier .NE. 0)
933   ALLOCATE(ngd_crit(nvm),stat=ier)
934   l_error = l_error .OR. (ier .NE. 0)
935   ALLOCATE(ncdgdd_temp(nvm),stat=ier)
936   l_error = l_error .OR. (ier .NE. 0)
937   ALLOCATE(hum_frac(nvm),stat=ier)
938   l_error = l_error .OR. (ier .NE. 0)
939   ALLOCATE(lowgpp_time(nvm),stat=ier)
940   l_error = l_error .OR. (ier .NE. 0)
941   ALLOCATE(hum_min_time(nvm),stat=ier)
942   l_error = l_error .OR. (ier .NE. 0)
943   ALLOCATE(tau_sap(nvm),stat=ier)
944   l_error = l_error .OR. (ier .NE. 0)
945   ALLOCATE(tau_fruit(nvm),stat=ier)
946   l_error = l_error .OR. (ier .NE. 0)
947   ALLOCATE(ecureuil(nvm),stat=ier)
948   l_error = l_error .OR. (ier .NE. 0)
949   ALLOCATE(alloc_min(nvm),stat=ier)
950   l_error = l_error .OR. (ier .NE. 0)
951   ALLOCATE(alloc_max(nvm),stat=ier)
952   l_error = l_error .OR. (ier .NE. 0)
953   ALLOCATE(demi_alloc(nvm),stat=ier)
954   l_error = l_error .OR. (ier .NE. 0)
955   !-
956   ALLOCATE(maint_resp_slope(nvm,3),stat=ier)
957   l_error = l_error .OR. (ier .NE. 0)
958   ALLOCATE(maint_resp_slope_c(nvm),stat=ier)
959   l_error = l_error .OR. (ier .NE. 0)
960   ALLOCATE(maint_resp_slope_b(nvm),stat=ier)
961   l_error = l_error .OR. (ier .NE. 0)
962   ALLOCATE(maint_resp_slope_a(nvm),stat=ier)
963   l_error = l_error .OR. (ier .NE. 0)
964   ALLOCATE(coeff_maint_zero(nvm,nparts),stat=ier)
965   l_error = l_error .OR. (ier .NE. 0)
966   ALLOCATE(cm_zero_leaf(nvm),stat=ier)
967   l_error = l_error .OR. (ier .NE. 0)
968   ALLOCATE(cm_zero_sapabove(nvm),stat=ier)
969   l_error = l_error .OR. (ier .NE. 0)
970   ALLOCATE(cm_zero_sapbelow(nvm),stat=ier)
971   l_error = l_error .OR. (ier .NE. 0)
972   ALLOCATE(cm_zero_heartabove(nvm),stat=ier)
973   l_error = l_error .OR. (ier .NE. 0)
974   ALLOCATE(cm_zero_heartbelow(nvm),stat=ier)
975   l_error = l_error .OR. (ier .NE. 0)
976   ALLOCATE(cm_zero_root(nvm),stat=ier)
977   l_error = l_error .OR. (ier .NE. 0)
978   ALLOCATE(cm_zero_fruit(nvm),stat=ier)
979   l_error = l_error .OR. (ier .NE. 0)
980   ALLOCATE(cm_zero_carbres(nvm),stat=ier)
981   l_error = l_error .OR. (ier .NE. 0)
982   !-
983   ALLOCATE(flam(nvm),stat=ier)
984   l_error = l_error .OR. (ier .NE. 0) 
985   ALLOCATE(resist(nvm),stat=ier)
986   l_error = l_error .OR. (ier .NE. 0) 
987   !-
988   ALLOCATE(coeff_lcchange_1(nvm),stat=ier)
989   l_error = l_error .OR. (ier .NE. 0)
990   ALLOCATE(coeff_lcchange_10(nvm),stat=ier)
991   l_error = l_error .OR. (ier .NE. 0)
992   ALLOCATE(coeff_lcchange_100(nvm),stat=ier)
993   l_error = l_error .OR. (ier .NE. 0)
994   !-
995   ALLOCATE(lai_max(nvm),stat=ier)
996   l_error = l_error .OR. (ier .NE. 0)
997   ALLOCATE(pheno_model(nvm),stat=ier)
998   l_error = l_error .OR. (ier .NE. 0) 
999   ALLOCATE(pheno_type(nvm),stat=ier)
1000   l_error = l_error .OR. (ier .NE. 0) 
1001   !-
1002   ALLOCATE(leaffall(nvm),stat=ier)
1003   l_error = l_error .OR. (ier .NE. 0)
1004   ALLOCATE(leafagecrit(nvm),stat=ier)
1005   l_error = l_error .OR. (ier .NE. 0)
1006   ALLOCATE(senescence_type(nvm),stat=ier)
1007   l_error = l_error .OR. (ier .NE. 0)
1008   ALLOCATE(senescence_hum(nvm),stat=ier)
1009   l_error = l_error .OR. (ier .NE. 0)
1010   ALLOCATE(nosenescence_hum(nvm),stat=ier)
1011   l_error = l_error .OR. (ier .NE. 0)
1012   ALLOCATE(max_turnover_time(nvm),stat=ier)
1013   l_error = l_error .OR. (ier .NE. 0)
1014   ALLOCATE(min_turnover_time(nvm),stat=ier)
1015   l_error = l_error .OR. (ier .NE. 0)
1016   ALLOCATE(min_leaf_age_for_senescence(nvm),stat=ier)
1017   l_error = l_error .OR. (ier .NE. 0)
1018   ALLOCATE(senescence_temp_c(nvm),stat=ier)
1019   l_error = l_error .OR. (ier .NE. 0)
1020   ALLOCATE(senescence_temp_b(nvm),stat=ier)
1021   l_error = l_error .OR. (ier .NE. 0)
1022   ALLOCATE(senescence_temp_a(nvm),stat=ier)
1023   l_error = l_error .OR. (ier .NE. 0)
1024   ALLOCATE(senescence_temp(nvm,3),stat=ier)
1025   l_error = l_error .OR. (ier .NE. 0)
1026   !-
1027   ALLOCATE(residence_time(nvm),stat=ier)
1028   l_error = l_error .OR. (ier .NE. 0)
1029   ALLOCATE(tmin_crit(nvm),stat=ier)
1030   l_error = l_error .OR. (ier .NE. 0)
1031   ALLOCATE(tcm_crit(nvm),stat=ier)
1032   l_error = l_error .OR. (ier .NE. 0)
1033   !-
1034   ALLOCATE(rstruct_const(nvm),stat=ier)
1035   l_error = l_error .OR. (ier .NE. 0)
1036   ALLOCATE(kzero(nvm),stat=ier)
1037   l_error = l_error .OR. (ier .NE. 0)
1038   !-
1039   ALLOCATE(wmax_veg(nvm),stat=ier)
1040   l_error = l_error .OR. (ier .NE. 0)
1041   ALLOCATE(humcste(nvm),stat=ier)
1042   l_error = l_error .OR. (ier .NE. 0)
1043   !-
1044   ALLOCATE(snowa_ini(nvm),stat=ier)
1045   l_error = l_error .OR. (ier .NE. 0)   
1046   ALLOCATE(snowa_dec(nvm),stat=ier)
1047   l_error = l_error .OR. (ier .NE. 0)
1048   ALLOCATE(alb_leaf_vis(nvm),stat=ier)
1049   l_error = l_error .OR. (ier .NE. 0)
1050   ALLOCATE(alb_leaf_nir(nvm),stat=ier)
1051   l_error = l_error .OR. (ier .NE. 0)
1052   ALLOCATE(alb_leaf(2*nvm),stat=ier)
1053   l_error = l_error .OR. (ier .NE. 0)
1054   !-
1055   ALLOCATE(pref_soil_veg_sand(nvm),stat=ier)
1056   l_error = l_error .OR. (ier .NE. 0)
1057   ALLOCATE(pref_soil_veg_loan(nvm),stat=ier)
1058   l_error = l_error .OR. (ier .NE. 0)
1059   ALLOCATE(pref_soil_veg_clay(nvm),stat=ier)
1060   l_error = l_error .OR. (ier .NE. 0)
1061   ALLOCATE(pref_soil_veg(nvm,nstm),stat=ier)
1062   l_error = l_error .OR. (ier .NE. 0)
1063   !-
1064   ALLOCATE(lai_initmin(nvm),stat=ier)
1065   l_error = l_error .OR. (ier .NE. 0)
1066   ALLOCATE(tree(nvm),stat=ier)
1067   l_error = l_error .OR. (ier .NE. 0)
1068   ALLOCATE(bm_sapl(nvm,nparts),stat=ier)
1069   l_error = l_error .OR. (ier .NE. 0)
1070   ALLOCATE(migrate(nvm),stat=ier)
1071   l_error = l_error .OR. (ier .NE. 0)
1072   ALLOCATE(maxdia(nvm),stat=ier)
1073   l_error = l_error .OR. (ier .NE. 0)
1074   ALLOCATE(cn_sapl(nvm),stat=ier)
1075   l_error = l_error .OR. (ier .NE. 0)
1076   ALLOCATE(leaf_timecst(nvm),stat=ier)
1077   l_error = l_error .OR. (ier .NE. 0) 
1078   !-
1079   ALLOCATE(throughfall_by_pft(nvm),stat=ier)
1080   l_error = l_error .OR. (ier .NE. 0)   
1081   ALLOCATE (rveg_pft(nvm),stat=ier)
1082   l_error = l_error .OR. (ier .NE. 0) 
1083   !
1084   IF (l_error) THEN
1085       STOP 'pft _alloc : error in memory allocation'
1086   ENDIF
1087
1088 END SUBROUTINE pft_alloc
1089 !
1090 !=
1091 !
1092 SUBROUTINE pft_clear
1093
1094   l_first_define_pft = .TRUE.
1095
1096   IF(ALLOCATED(pft_to_mtc))DEALLOCATE(pft_to_mtc)
1097   IF(ALLOCATED(PFT_name))DEALLOCATE(PFT_name)
1098   !-
1099   IF(ALLOCATED(veget_ori_fixed_test_1))DEALLOCATE(veget_ori_fixed_test_1)   
1100   IF(ALLOCATED(llaimax))DEALLOCATE(llaimax)
1101   IF(ALLOCATED(llaimin))DEALLOCATE(llaimin)
1102   IF(ALLOCATED(height_presc))DEALLOCATE(height_presc)   
1103   IF(ALLOCATED(type_of_lai))DEALLOCATE(type_of_lai)
1104   IF(ALLOCATED(is_tree))DEALLOCATE(is_tree)
1105   !-
1106   IF(ALLOCATED(leaf_tab))DEALLOCATE(leaf_tab)
1107   IF(ALLOCATED(sla))DEALLOCATE(sla)
1108   IF(ALLOCATED(natural))DEALLOCATE(natural)
1109   !-
1110   IF(ALLOCATED(is_c4))DEALLOCATE(is_c4) 
1111   IF(ALLOCATED(gsslope))DEALLOCATE(gsslope)
1112   IF(ALLOCATED(gsoffset))DEALLOCATE(gsoffset)
1113   IF(ALLOCATED(vcmax_fix))DEALLOCATE(vcmax_fix)
1114   IF(ALLOCATED(vjmax_fix))DEALLOCATE(vjmax_fix)
1115   IF(ALLOCATED(co2_tmin_fix))DEALLOCATE(co2_tmin_fix)
1116   IF(ALLOCATED(co2_topt_fix))DEALLOCATE(co2_topt_fix)
1117   IF(ALLOCATED(co2_tmax_fix))DEALLOCATE(co2_tmax_fix) 
1118   !-
1119   IF(ALLOCATED(ext_coeff))DEALLOCATE(ext_coeff)
1120   IF(ALLOCATED(vcmax_opt))DEALLOCATE(vcmax_opt)
1121   IF(ALLOCATED(vjmax_opt))DEALLOCATE(vjmax_opt)
1122   IF(ALLOCATED(tphoto_min_a))DEALLOCATE(tphoto_min_a)
1123   IF(ALLOCATED(tphoto_min_b))DEALLOCATE(tphoto_min_b)
1124   IF(ALLOCATED(tphoto_min_c))DEALLOCATE(tphoto_min_c)
1125   IF(ALLOCATED(tphoto_opt_a))DEALLOCATE(tphoto_opt_a)
1126   IF(ALLOCATED(tphoto_opt_b))DEALLOCATE(tphoto_opt_b)
1127   IF(ALLOCATED(tphoto_opt_c))DEALLOCATE(tphoto_opt_c)
1128   IF(ALLOCATED(tphoto_max_a))DEALLOCATE(tphoto_max_a)
1129   IF(ALLOCATED(tphoto_max_b))DEALLOCATE(tphoto_max_b)
1130   IF(ALLOCATED(tphoto_max_c))DEALLOCATE(tphoto_max_c)
1131   !-
1132   IF(ALLOCATED(maint_resp_slope))DEALLOCATE(maint_resp_slope)
1133   IF(ALLOCATED(maint_resp_slope_c))DEALLOCATE(maint_resp_slope_c)
1134   IF(ALLOCATED(maint_resp_slope_b))DEALLOCATE(maint_resp_slope_b)
1135   IF(ALLOCATED(maint_resp_slope_a))DEALLOCATE(maint_resp_slope_a)
1136   IF(ALLOCATED(coeff_maint_zero))DEALLOCATE(coeff_maint_zero)
1137   IF(ALLOCATED(cm_zero_leaf))DEALLOCATE(cm_zero_leaf)
1138   IF(ALLOCATED(cm_zero_sapabove))DEALLOCATE(cm_zero_sapabove)
1139   IF(ALLOCATED(cm_zero_sapbelow))DEALLOCATE(cm_zero_sapbelow)
1140   IF(ALLOCATED(cm_zero_heartabove))DEALLOCATE(cm_zero_heartabove)
1141   IF(ALLOCATED(cm_zero_heartbelow))DEALLOCATE(cm_zero_heartbelow)
1142   IF(ALLOCATED(cm_zero_root))DEALLOCATE(cm_zero_root)
1143   IF(ALLOCATED(cm_zero_fruit))DEALLOCATE(cm_zero_fruit)
1144   IF(ALLOCATED(cm_zero_carbres))DEALLOCATE(cm_zero_carbres)
1145   !-
1146   IF(ALLOCATED(flam))DEALLOCATE(flam)
1147   IF(ALLOCATED(resist))DEALLOCATE(resist)
1148   !-
1149   IF(ALLOCATED(coeff_lcchange_1))DEALLOCATE(coeff_lcchange_1)
1150   IF(ALLOCATED(coeff_lcchange_10))DEALLOCATE(coeff_lcchange_10)
1151   IF(ALLOCATED(coeff_lcchange_100))DEALLOCATE(coeff_lcchange_100)
1152   !-
1153   IF(ALLOCATED(lai_max)) DEALLOCATE(lai_max)
1154   IF(ALLOCATED(pheno_model))DEALLOCATE(pheno_model)
1155   IF(ALLOCATED(pheno_type))DEALLOCATE(pheno_type)
1156   !-
1157   IF(ALLOCATED(pheno_gdd_crit_c))DEALLOCATE(pheno_gdd_crit_c)
1158   IF(ALLOCATED(pheno_gdd_crit_b))DEALLOCATE(pheno_gdd_crit_b)
1159   IF(ALLOCATED(pheno_gdd_crit_a))DEALLOCATE(pheno_gdd_crit_a)
1160   IF(ALLOCATED(pheno_gdd_crit))DEALLOCATE(pheno_gdd_crit)
1161   IF(ALLOCATED(ngd_crit))DEALLOCATE(ngd_crit)
1162   IF(ALLOCATED(ncdgdd_temp))DEALLOCATE(ncdgdd_temp)
1163   IF(ALLOCATED(hum_frac))DEALLOCATE(hum_frac)
1164   IF(ALLOCATED(lowgpp_time))DEALLOCATE(lowgpp_time)   
1165   IF(ALLOCATED(hum_min_time))DEALLOCATE(hum_min_time)
1166   IF(ALLOCATED(tau_sap))DEALLOCATE(tau_sap)
1167   IF(ALLOCATED(tau_fruit))DEALLOCATE(tau_fruit)
1168   IF(ALLOCATED(ecureuil))DEALLOCATE(ecureuil)
1169   IF(ALLOCATED(alloc_min))DEALLOCATE(alloc_min)
1170   IF(ALLOCATED(alloc_max))DEALLOCATE(alloc_max)
1171   IF(ALLOCATED(demi_alloc))DEALLOCATE(demi_alloc)
1172   !-
1173   IF(ALLOCATED(leaffall))DEALLOCATE(leaffall)
1174   IF(ALLOCATED(leafagecrit))DEALLOCATE(leafagecrit)
1175   IF(ALLOCATED(senescence_type))DEALLOCATE(senescence_type)
1176   IF(ALLOCATED(senescence_hum))DEALLOCATE(senescence_hum)
1177   IF(ALLOCATED(nosenescence_hum))DEALLOCATE(nosenescence_hum)
1178   IF(ALLOCATED(max_turnover_time))DEALLOCATE(max_turnover_time)
1179   IF(ALLOCATED(min_turnover_time))DEALLOCATE(min_turnover_time)
1180   IF(ALLOCATED(min_leaf_age_for_senescence))DEALLOCATE(min_leaf_age_for_senescence)
1181   !-
1182   IF(ALLOCATED(senescence_temp_c))DEALLOCATE(senescence_temp_c)
1183   IF(ALLOCATED(senescence_temp_b))DEALLOCATE(senescence_temp_b)
1184   IF(ALLOCATED(senescence_temp_a))DEALLOCATE(senescence_temp_a)
1185   IF(ALLOCATED(senescence_temp))DEALLOCATE(senescence_temp)
1186   !-
1187   IF(ALLOCATED(residence_time))DEALLOCATE(residence_time)
1188   IF(ALLOCATED(tmin_crit))DEALLOCATE(tmin_crit)
1189   IF(ALLOCATED(tcm_crit))DEALLOCATE(tcm_crit)
1190   !-
1191   IF(ALLOCATED(rstruct_const))DEALLOCATE(rstruct_const)
1192   IF(ALLOCATED(kzero))DEALLOCATE(kzero)
1193   !-
1194   IF(ALLOCATED(wmax_veg))DEALLOCATE(wmax_veg)
1195   IF(ALLOCATED(humcste))DEALLOCATE(humcste)
1196   !-
1197   IF(ALLOCATED(snowa_ini))DEALLOCATE(snowa_ini)
1198   IF(ALLOCATED(snowa_dec))DEALLOCATE(snowa_dec)
1199   IF(ALLOCATED(alb_leaf_vis))DEALLOCATE(alb_leaf_vis)
1200   IF(ALLOCATED(alb_leaf_nir))DEALLOCATE(alb_leaf_nir)   
1201   IF(ALLOCATED(alb_leaf))DEALLOCATE(alb_leaf)
1202   !-
1203   IF(ALLOCATED(pref_soil_veg_sand))DEALLOCATE(pref_soil_veg_sand)
1204   IF(ALLOCATED(pref_soil_veg_loan))DEALLOCATE(pref_soil_veg_loan)
1205   IF(ALLOCATED(pref_soil_veg_clay))DEALLOCATE(pref_soil_veg_clay)
1206   IF(ALLOCATED(pref_soil_veg))DEALLOCATE(pref_soil_veg)
1207   !-
1208   IF(ALLOCATED(lai_initmin))DEALLOCATE(lai_initmin)
1209   IF(ALLOCATED(tree))DEALLOCATE(tree)
1210   IF(ALLOCATED(bm_sapl))DEALLOCATE(bm_sapl)
1211   IF(ALLOCATED(migrate))DEALLOCATE(migrate)
1212   IF(ALLOCATED(maxdia))DEALLOCATE(maxdia)
1213   IF(ALLOCATED(cn_sapl))DEALLOCATE(cn_sapl)
1214   IF(ALLOCATED(leaf_timecst))DEALLOCATE(leaf_timecst)
1215   !-
1216   IF(ALLOCATED(throughfall_by_pft))DEALLOCATE(throughfall_by_pft)
1217   IF (ALLOCATED(rveg_pft))DEALLOCATE(rveg_pft)
1218
1219 END SUBROUTINE pft_clear
1220!
1221!=
1222!
1223 SUBROUTINE getin_sechiba_pft_parameters
1224
1225   IMPLICIT NONE
1226 
1227   LOGICAL, SAVE ::  first_call = .TRUE.
1228
1229  IF(first_call) THEN
1230
1231     !----------------------
1232     ! Vegetation structure
1233     !---------------------
1234     !     
1235     CALL getin('LLAIMIN',llaimin)
1236     CALL getin('TYPE_OF_LAI',type_of_lai)
1237     CALL getin('IS_TREE',is_tree)
1238     ! No calling to getin for
1239     ! veget_ori_fixed_test_1, llaimax and height_presc
1240     ! getin will be called in slowproc.f90
1241     
1242     !-----------------
1243     ! Photosynthesis
1244     !-----------------
1245     !-
1246     CALL getin('IS_C4',is_c4)
1247     CALL getin('GSSLOPE',gsslope)
1248     CALL getin('GSOFFSET',gsoffset)
1249     CALL getin('VCMAX_FIX',vcmax_fix)
1250     CALL getin('VJMAX_FIX',vjmax_fix)
1251     CALL getin('CO2_TMIN_FIX',co2_tmin_fix)
1252     CALL getin('CO2_TOPT_FIX',co2_topt_fix)
1253     CALL getin('CO2_TMAX_FIX',co2_tmax_fix)
1254     CALL getin('EXT_COEFF',ext_coeff)
1255     !-------------------------------
1256     ! Evapotranspiration -  sechiba
1257     !-------------------------------
1258     !
1259     CALL getin('RSTRUCT_CONST',rstruct_const)
1260     CALL getin('KZERO',kzero)
1261     CALL getin('RVEG_PFT', rveg_pft)   
1262     !-------------------
1263     ! Water - sechiba
1264     !-------------------
1265     !
1266     CALL getin('WMAX_VEG',wmax_veg)
1267     CALL getin("HYDROL_HUMCSTE", humcste)
1268     ! humcste is called in slowproc.f90 (problem with the flag)
1269     !------------------
1270     ! Albedo - sechiba
1271     !------------------
1272     !
1273     CALL getin('SNOWA_INI',snowa_ini)
1274     CALL getin('SNOWA_DEC',snowa_dec)
1275     CALL getin('ALB_LEAF_VIS',alb_leaf_vis)
1276     CALL getin('ALB_LEAF_NIR',alb_leaf_nir)
1277
1278     !------------------------
1279     !   Soil - vegetation
1280     !------------------------
1281     !
1282     CALL getin('PREF_SOIL_VEG_SAND',pref_soil_veg_sand)
1283     CALL getin('PREF_SOIL_VEG_LOAN',pref_soil_veg_loan)         
1284     CALL getin('PREF_SOIL_VEG_CLAY',pref_soil_veg_clay)
1285
1286     first_call = .FALSE.
1287
1288  ENDIF
1289
1290END SUBROUTINE getin_sechiba_pft_parameters
1291!
1292!=
1293!
1294SUBROUTINE getin_stomate_pft_parameters
1295
1296  IMPLICIT NONE
1297
1298  LOGICAL, SAVE ::  first_call = .TRUE.
1299
1300  IF(first_call) THEN
1301
1302     !----------------------
1303     ! Vegetation structure
1304     !---------------------
1305     !
1306     CALL getin('LEAF_TAB',leaf_tab)
1307     CALL getin('SLA',sla)
1308     CALL getin('NATURAL',natural)
1309     !-----------------
1310     ! Photosynthesis
1311     !-----------------
1312     !
1313     CALL getin('VCMAX_OPT',vcmax_opt)
1314     CALL getin('VJMAX_OPT',vjmax_opt)
1315     CALL getin('TPHOTO_MIN_A',tphoto_min_a)
1316     CALL getin('TPHOTO_MIN_B',tphoto_min_b)
1317     CALL getin('TPHOTO_MIN_C',tphoto_min_c)
1318     CALL getin('TPHOTO_OPT_A',tphoto_opt_a)
1319     CALL getin('TPHOTO_OPT_B',tphoto_opt_b)
1320     CALL getin('TPHOTO_OPT_C',tphoto_opt_c)
1321     CALL getin('TPHOTO_MAX_A',tphoto_max_a)
1322     CALL getin('TPHOTO_MAX_B',tphoto_max_b)
1323     CALL getin('TPHOTO_MAX_C',tphoto_max_c)
1324     !----------------------
1325     ! Respiration - stomate
1326     !----------------------
1327     !
1328     CALL getin('MAINT_RESP_SLOPE_C',maint_resp_slope_c) 
1329     CALL getin('MAINT_RESP_SLOPE_B',maint_resp_slope_b)
1330     CALL getin('MAINT_RESP_SLOPE_A',maint_resp_slope_a)
1331     CALL getin('CM_ZERO_LEAF',cm_zero_leaf)
1332     CALL getin('CM_ZERO_SAPABOVE',cm_zero_sapabove)
1333     CALL getin('CM_ZERO_SAPBELOW',cm_zero_sapbelow)
1334     CALL getin('CM_ZERO_HEARTABOVE',cm_zero_heartabove)
1335     CALL getin('CM_ZERO_HEARTBELOW',cm_zero_heartbelow)
1336     CALL getin('CM_ZERO_ROOT',cm_zero_root)
1337     CALL getin('CM_ZERO_FRUIT',cm_zero_fruit)
1338     CALL getin('CM_ZERO_CARBRES',cm_zero_carbres)
1339     
1340     !----------------
1341     ! Fire - stomate
1342     !---------------
1343     !
1344     CALL getin('FLAM',flam)
1345     CALL getin('RESIST',resist)
1346     !----------------
1347     ! Flux - LUC
1348     !---------------
1349     !
1350     CALL getin('COEFF_LCCHANGE_1',coeff_lcchange_1)
1351     CALL getin('COEFF_LCCHANGE_10',coeff_lcchange_10)
1352     CALL getin('COEFF_LCCHANGE_100',coeff_lcchange_100)
1353
1354     !-----------
1355     ! Phenology
1356     !-----------
1357     !-
1358     ! 1 .Stomate
1359     !-
1360     CALL getin('LAI_MAX',lai_max)
1361     CALL getin('PHENO_MODEL',pheno_model)
1362     CALL getin('PHENO_TYPE',pheno_type)
1363     !-
1364     ! 2. Leaf Onset
1365     !-
1366     CALL getin('PHENO_GDD_CRIT_C',pheno_gdd_crit_c)
1367     CALL getin('PHENO_GDD_CRIT_B',pheno_gdd_crit_b)
1368     CALL getin('PHENO_GDD_CRIT_A',pheno_gdd_crit_a)
1369     CALL getin('NGD_CRIT',ngd_crit)
1370     CALL getin('NCDGDD_TEMP', ncdgdd_temp)
1371     CALL getin('HUM_FRAC', hum_frac)
1372     CALL getin('LOWGPP_TIME', lowgpp_time)
1373     CALL getin('HUM_MIN_TIME', hum_min_time)
1374     CALL getin('TAU_SAP',tau_sap)
1375     CALL getin('TAU_FRUIT',tau_fruit)
1376     CALL getin('ECUREUIL',ecureuil)
1377     CALL getin('ALLOC_MIN',alloc_min)
1378     CALL getin('ALLOC_MAX',alloc_max)
1379     CALL getin('DEMI_ALLOC',demi_alloc)
1380     !-
1381     ! 3. Senescence
1382     !-
1383     CALL getin('LEAFFALL',leaffall)
1384     CALL getin('LEAFAGECRIT',leafagecrit) 
1385     CALL getin('SENESCENCE_TYPE', senescence_type) 
1386     CALL getin('SENESCENCE_HUM', senescence_hum)
1387     CALL getin('NOSENESCENCE_HUM', nosenescence_hum) 
1388     CALL getin('MAX_TURNOVER_TIME',max_turnover_time)
1389     CALL getin('MIN_TURNOVER_TIME',min_turnover_time)
1390     CALL getin('MIN_LEAF_AGE_FOR_SENESCENCE', min_leaf_age_for_senescence)
1391     CALL getin('SENESCENCE_TEMP_C',senescence_temp_c)
1392     CALL getin('SENESCENCE_TEMP_B',senescence_temp_b)
1393     CALL getin('SENESCENCE_TEMP_A',senescence_temp_a)
1394     !-----------
1395     ! DGVM
1396     !-----------
1397     CALL getin('RESIDENCE_TIME',residence_time)
1398     CALL getin('TMIN_CRIT',tmin_crit)
1399     CALL getin('TCM_CRIT',tcm_crit)
1400
1401     first_call = .FALSE.
1402       
1403  ENDIF
1404 
1405END SUBROUTINE getin_stomate_pft_parameters
1406
1407END MODULE pft_parameters
Note: See TracBrowser for help on using the repository browser.