SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
carbon_init.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 carbon_init(KNBIOMASS,KNLITTER, KNLITTLEVS, KNSOILCARB)
7 ! #####################
8 !
9 !!**** *CARBON_INIT* - routine to initialize soil carbon parameters
10 !!
11 !! PURPOSE
12 !! -------
13 !!
14 !!** METHOD
15 !! ------
16 !!
17 !! EXTERNAL
18 !! --------
19 !!
20 !! IMPLICIT ARGUMENTS
21 !! ------------------
22 !!
23 !! REFERENCE
24 !! ---------
25 !!
26 !! Gibelin et al. 2008, AFM
27 !! Modelling energy and CO2 fluxes with an interactive vegetation land surface model -
28 !! Evaluation at high and middle latitudes.
29 !!
30 !! AUTHOR
31 !! ------
32 !! A.-L. Gibelin * Meteo-France *
33 !!
34 !! MODIFICATIONS
35 !! -------------
36 !! Original 15/06/09
37 !! B. Decharme 2012 variable must be allocated once by run
38 !!
39 !-------------------------------------------------------------------------------
40 !
41 !* 0. DECLARATIONS
42 ! ------------
43 !
44 USE modd_co2v_par, ONLY : xcn, xlc, xfrac_litter, xtau_litter, &
45  xfrac_soilcarb, xtau_soilcarb
46 USE modd_surf_par, ONLY : xundef
47 !
48 !
49 USE yomhook ,ONLY : lhook, dr_hook
50 USE parkind1 ,ONLY : jprb
51 !
52 IMPLICIT NONE
53 !
54 !* 0.1 Declarations of arguments
55 ! -------------------------
56 !
57 INTEGER, INTENT(IN) :: knbiomass ! number of biomass pools
58 INTEGER, INTENT(IN) :: knlitter ! number of litter pools
59 INTEGER, INTENT(IN) :: knlittlevs ! number of litter levels
60 INTEGER, INTENT(IN) :: knsoilcarb ! number of soil carbon pools
61 REAL(KIND=JPRB) :: zhook_handle
62 !
63 !-------------------------------------------------------------------------------
64 !
65 IF (lhook) CALL dr_hook('CARBON_INIT',0,zhook_handle)
66 !
67 !* 2. BIOMASS CONSTANTS
68 ! -----------------
69 !
70 ! Biomass Carbon/Nitrogen ratio
71 xcn(1) = 40.0
72 xcn(2) = 40.0
73 xcn(3) = 40.0
74 xcn(4) = 40.0
75 xcn(5) = 40.0
76 xcn(6) = 40.0
77 !
78 ! Biomass Lignin/Carbon ratio
79 xlc(1) = 0.22
80 xlc(2) = 0.35
81 xlc(3) = 0.35
82 xlc(4) = 0.35
83 xlc(5) = 0.35
84 xlc(6) = 0.35
85 !
86 ! Fraction of biomass pools going into litter pools
87 xfrac_litter(:,1) = 0.85 - 0.018 * xlc(:) * xcn(:)
88 xfrac_litter(:,2) = 1. - xfrac_litter(:,1)
89 !
90 !
91 !* 3. LITTER CONSTANTS
92 ! ----------------
93 !
94 ! Residence times in litter pools (s)
95 xtau_litter(1) = 0.066*365.0*86400.0
96 xtau_litter(2) = 0.245*365.0*86400.0
97 !
98 ! Fraction of litter decomposition flux that goes into soil.
99 ! The rest goes into the atmosphere
100 xfrac_soilcarb(:,:,:) = xundef
101 !
102 ! Structural litter: lignin fraction goes into slow pool + respiration,
103 ! rest into active pool + respiration.
104 xfrac_soilcarb(2,1,1) = 0.55
105 xfrac_soilcarb(2,1,2) = 0.45
106 xfrac_soilcarb(2,2,1) = 0.70
107 xfrac_soilcarb(2,2,2) = 0.70
108 !
109 ! Metabolic litter: all goes into active pool + respiration,
110 ! nothing into slow or passive pool.
111 xfrac_soilcarb(1,1,1) = 0.45
112 xfrac_soilcarb(1,1,2) = 0.45
113 !
114 !
115 !* 4. SOIL CONSTANTS
116 ! --------------
117 !
118 ! Residence times in carbon pools (s)
119 xtau_soilcarb(1) = 0.149*365.0*86400.0
120 xtau_soilcarb(2) = 5.480*365.0*86400.0
121 xtau_soilcarb(3) = 241.0*365.0*86400.0
122 !
123 IF (lhook) CALL dr_hook('CARBON_INIT',1,zhook_handle)
124 !
125 END SUBROUTINE carbon_init
subroutine carbon_init(KNBIOMASS, KNLITTER, KNLITTLEVS, KNSOILCARB)
Definition: carbon_init.F90:6