SURFEX v8.1
General documentation of Surfex
default_isba.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #########
6  SUBROUTINE default_isba(PTSTEP, POUT_TSTEP, &
7  HRUNOFF, HSCOND, &
8  HC1DRY, HSOILFRZ, HDIFSFCOND, HSNOWRES, &
9  HCPSURF, PCGMAX, PCDRAG, HKSAT, OSOC, &
10  HRAIN, HHORT, OGLACIER, OCANOPY_DRAG, &
11  OVEGUPD, OSPINUPCARBS, OSPINUPCARBW, &
12  PSPINMAXS, PSPINMAXW, PCO2_START, PCO2_END,&
13  KNBYEARSPINS, KNBYEARSPINW, &
14  ONITRO_DILU )
15 ! ########################################################################
16 !
17 !!**** *DEFAULT_ISBA* - routine to set default values for the configuration for ISBA
18 !!
19 !! PURPOSE
20 !! -------
21 !!
22 !!** METHOD
23 !! ------
24 !!
25 !! EXTERNAL
26 !! --------
27 !!
28 !!
29 !! IMPLICIT ARGUMENTS
30 !! ------------------
31 !!
32 !! REFERENCE
33 !! ---------
34 !!
35 !!
36 !! AUTHOR
37 !! ------
38 !! V. Masson *Meteo France*
39 !!
40 !! MODIFICATIONS
41 !! -------------
42 !! Original 01/2004
43 !! B.Decharme 04/2013 delete HTOPREG (never used)
44 !! water table / surface coupling
45 !-------------------------------------------------------------------------------
46 !
47 !* 0. DECLARATIONS
48 ! ------------
49 !
50 USE modd_surf_par, ONLY : xundef
51 !
52 USE yomhook ,ONLY : lhook, dr_hook
53 USE parkind1 ,ONLY : jprb
54 !
55 IMPLICIT NONE
56 !
57 !* 0.1 Declarations of arguments
58 ! -------------------------
59 !
60 !
61 REAL, INTENT(OUT) :: PTSTEP ! time-step for run
62 REAL, INTENT(OUT) :: POUT_TSTEP ! time-step for writing
63  CHARACTER(LEN=4), INTENT(OUT) :: HSCOND ! Thermal conductivity
64 ! ! 'DEF ' = DEFault: NP89 implicit method
65 ! ! 'PL98' = Peters-Lidard et al. 1998 used
66 ! ! for explicit computation of CG
67  CHARACTER(LEN=4), INTENT(OUT) :: HC1DRY ! C1 formulation for dry soils
68 ! ! 'DEF ' = DEFault: Giard-Bazile formulation
69 ! ! 'GB93' = Giordani 1993, Braud 1993
70 ! !discontinuous at WILT
71  CHARACTER(LEN=3), INTENT(OUT) :: HSOILFRZ ! soil freezing-physics option
72 ! ! 'DEF' = Default (Boone et al. 2000;
73 ! ! Giard and Bazile 2000)
74 ! ! 'LWT' = Phase changes as above,
75 ! ! but relation between unfrozen
76 ! ! water and temperature considered
77 ! NOTE that when using the YISBA='DIF' multi-layer soil option,
78 ! the 'LWT' method is used. It is only an option
79 ! when using the force-restore soil method ('2-L' or '3-L')
80 !
81  CHARACTER(LEN=4), INTENT(OUT) :: HDIFSFCOND ! Mulch effects
82 ! ! 'MLCH' = include the insulating effect of
83 ! ! leaf litter/mulch on the surf. thermal cond.
84 ! ! 'DEF ' = no mulch effect
85 ! NOTE: Only used when YISBA = DIF
86 !
87  CHARACTER(LEN=3), INTENT(OUT) :: HSNOWRES ! Turbulent exchanges over snow
88 ! ! 'DEF' = Default: Louis (ISBA)
89 ! ! 'RIL' = Maximum Richardson number limit
90 ! ! for stable conditions ISBA-SNOW3L
91 ! ! turbulent exchange option
92  CHARACTER(LEN=3), INTENT(OUT) :: HCPSURF ! SPECIFIC HEAT
93 ! ! 'DRY' = dry Cp
94 ! ! 'HUM' = Cp fct of qs
95 REAL, INTENT(OUT) :: PCGMAX ! maximum soil heat capacity
96 !
97 REAL, INTENT(OUT) :: PCDRAG ! drag coefficient in canopy
98 !
99  CHARACTER(LEN=4), INTENT(OUT) :: HRUNOFF ! surface runoff formulation
100 ! ! 'WSAT'
101 ! ! 'DT92'
102 ! ! 'SGH ' Topmodel
103 !
104  CHARACTER(LEN=3), INTENT(OUT) :: HKSAT ! SOIL HYDRAULIC CONDUCTIVITY PROFILE OPTION
105 ! ! 'DEF' = ISBA homogenous soil
106 ! ! 'SGH' = ksat exponential decay
107 !
108 LOGICAL, INTENT(OUT) :: OSOC ! SOIL ORGANIC CARBON PROFILE OPTION
109 ! ! False = ISBA homogenous soil
110 ! ! True = SOC profile effect
111 !
112  CHARACTER(LEN=3), INTENT(OUT) :: HRAIN ! Rainfall spatial distribution
113  ! 'DEF' = No rainfall spatial distribution
114  ! 'SGH' = Rainfall exponential spatial distribution
115  !
116 !
117  CHARACTER(LEN=3), INTENT(OUT) :: HHORT ! Horton runoff
118  ! 'DEF' = no Horton runoff
119  ! 'SGH' = Horton runoff
120 !
121 LOGICAL, INTENT(OUT) :: OGLACIER ! True = Over permanent snow and ice,
122 ! initialise WGI=WSAT,
123 ! Hsnow>=3.3m and allow 0.8<SNOALB<0.85
124  ! False = No specific treatment
125 LOGICAL, INTENT(OUT) :: OCANOPY_DRAG ! T: drag activated in SBL scheme within the canopy
126 !
127 LOGICAL, INTENT(OUT) :: OVEGUPD ! T: update vegetation parameters
128  ! every decade
129  ! F: keep vegetation parameters
130  ! constant in time
131 !
132 LOGICAL, INTENT(OUT) :: OSPINUPCARBS ! T: carbon spinup soil
133 LOGICAL, INTENT(OUT) :: OSPINUPCARBW ! T: carbon spinup wood
134 REAL, INTENT(OUT) :: PSPINMAXS ! max number of times CARBON_SOIL subroutine is called
135 REAL, INTENT(OUT) :: PSPINMAXW ! max number of times the wood is accelerated
136 REAL, INTENT(OUT) :: PCO2_START ! Pre-industrial CO2 concentration
137 REAL, INTENT(OUT) :: PCO2_END ! Begin-transient CO2 concentration
138 INTEGER, INTENT(OUT) :: KNBYEARSPINS ! nbr years needed to reaches soil equilibrium
139 INTEGER, INTENT(OUT) :: KNBYEARSPINW ! nbr years needed to reaches wood equilibrium
140 !
141 LOGICAL, INTENT(OUT) :: ONITRO_DILU ! nitrogen dilution fct of CO2 (Calvet et al. 2008)
142 !
143 !* 0.2 Declarations of local variables
144 ! -------------------------------
145 !
146 REAL(KIND=JPRB) :: ZHOOK_HANDLE
147 !
148 !-------------------------------------------------------------------------------
149 !
150 IF (lhook) CALL dr_hook('DEFAULT_ISBA',0,zhook_handle)
151 !
152 ptstep = xundef
153 pout_tstep = xundef
154 hscond = "PL98"
155 !
156 hc1dry = 'DEF '
157 hsoilfrz = 'DEF'
158 hdifsfcond = 'DEF '
159 hsnowres = 'DEF'
160 hcpsurf = 'DRY'
161 !
162 hrunoff = "WSAT"
163 hksat = 'DEF'
164 osoc = .false.
165 hrain = 'DEF'
166 hhort = 'DEF'
167 !
168 pcgmax = 2.0e-5
169 !
170 pcdrag = 0.15
171 !
172 oglacier = .false.
173 !
174 ocanopy_drag = .false.
175 !
176 ovegupd = .true.
177 !
178 ospinupcarbs = .false.
179 ospinupcarbw = .false.
180 !
181 pspinmaxs = 0.
182 pspinmaxw = 0.
183 pco2_start= xundef
184 pco2_end = xundef
185 knbyearspins = 0
186 knbyearspinw = 0
187 !
188 onitro_dilu = .false.
189 !
190 IF (lhook) CALL dr_hook('DEFAULT_ISBA',1,zhook_handle)
191 !
192 !-------------------------------------------------------------------------------
193 !
194 END SUBROUTINE default_isba
subroutine default_isba(PTSTEP, POUT_TSTEP,
Definition: default_isba.F90:7
real, parameter xundef
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15