[947] | 1 | ! ================================================================================================================================= |
---|
[1475] | 2 | ! MODULE : constantes_soil_var |
---|
[947] | 3 | ! |
---|
[4470] | 4 | ! CONTACT : orchidee-help _at_ listes.ipsl.fr |
---|
[947] | 5 | ! |
---|
| 6 | ! LICENCE : IPSL (2006) |
---|
| 7 | ! This software is governed by the CeCILL licence see ORCHIDEE/ORCHIDEE_CeCILL.LIC |
---|
| 8 | ! |
---|
[1475] | 9 | !>\BRIEF "constantes_soil_var" module contains the parameters related to soil and hydrology. |
---|
[947] | 10 | !! |
---|
| 11 | !!\n DESCRIPTION : The non saturated hydraulic properties are defined from the |
---|
| 12 | !! formulations of van Genuchten (1980) and Mualem (1976), combined as |
---|
| 13 | !! explained in d'Orgeval (2006). \n |
---|
[3476] | 14 | !! The related parameters for main soil textures (coarse, medium and fine if "fao", |
---|
| 15 | !! 12 USDA testures if "usda") come from Carsel and Parrish (1988). |
---|
[947] | 16 | !! |
---|
[5454] | 17 | !! RECENT CHANGE(S): AD: mcw and mcf depend now on soil texture, based on Van Genuchten equations |
---|
[3476] | 18 | !! and classical matric potential values, and pcent is adapted |
---|
[6954] | 19 | !! November 2020 by Salma Tafasca and Agnes Ducharne : we introduce a new texture class |
---|
| 20 | !! for clay oxisols (cf. Tafasca, 2020, PhD thesis; Tafasca et al., in prep for GRL). |
---|
| 21 | !! It makes no change if we read a soil texture map with only 12 USDA classes. |
---|
[7337] | 22 | !! Lookup tables for Zobler replaces by pointer to read the corresponding values in the |
---|
| 23 | !! 13-value USDA tables |
---|
[947] | 24 | !! |
---|
| 25 | !! REFERENCE(S) : |
---|
| 26 | !!- Roger A.Pielke, (2002), Mesoscale meteorological modeling, Academic Press Inc. |
---|
| 27 | !!- Polcher, J., Laval, K., DÃŒmenil, L., Lean, J., et Rowntree, P. R. (1996). |
---|
| 28 | !! Comparing three land surface schemes used in general circulation models. Journal of Hydrology, 180(1-4), 373--394. |
---|
| 29 | !!- Ducharne, A., Laval, K., et Polcher, J. (1998). Sensitivity of the hydrological cycle |
---|
| 30 | !! to the parametrization of soil hydrology in a GCM. Climate Dynamics, 14, 307--327. |
---|
| 31 | !!- Rosnay, P. de et Polcher, J. (1999). Modelling root water uptake in a complex land surface |
---|
| 32 | !! scheme coupled to a GCM. Hydrol. Earth Syst. Sci., 2(2/3), 239--255. |
---|
| 33 | !!- d'Orgeval, T. et Polcher, J. (2008). Impacts of precipitation events and land-use changes |
---|
| 34 | !! on West African river discharges during the years 1951--2000. Climate Dynamics, 31(2), 249--262. |
---|
| 35 | !!- Carsel, R. and Parrish, R.: Developing joint probability distributions of soil water |
---|
| 36 | !! retention characteristics, Water Resour. Res.,24, 755â769, 1988. |
---|
[6954] | 37 | !!- Mualem Y (1976). A new model for predicting the hydraulic conductivity |
---|
[947] | 38 | !! of unsaturated porous media. Water Resources Research 12(3):513-522 |
---|
[6954] | 39 | !!- Van Genuchten M (1980). A closed-form equation for predicting the |
---|
[947] | 40 | !! hydraulic conductivity of unsaturated soils. Soil Sci Soc Am J, 44(5):892-898 |
---|
[6954] | 41 | !!- Tafasca S. (2020). Evaluation de lâimpact des propriétés du sol sur lâhydrologie simulee dans le |
---|
| 42 | !! modÚle ORCHIDEE, PhD thesis, Sorbonne Universite. |
---|
| 43 | !!- Tafasca S., Ducharne A. and Valentin C. Accounting for soil structure in pedo-transfer functions: |
---|
| 44 | !! swelling vs non swelling clays. In prep for GRL. |
---|
[947] | 45 | !! |
---|
| 46 | !! SVN : |
---|
| 47 | !! $HeadURL: $ |
---|
| 48 | !! $Date: $ |
---|
| 49 | !! $Revision: $ |
---|
| 50 | !! \n |
---|
| 51 | !_ ================================================================================================================================ |
---|
| 52 | |
---|
[1475] | 53 | MODULE constantes_soil_var |
---|
[947] | 54 | |
---|
[1475] | 55 | USE defprec |
---|
[2928] | 56 | USE vertical_soil_var |
---|
[1082] | 57 | |
---|
[947] | 58 | IMPLICIT NONE |
---|
[1082] | 59 | |
---|
[5506] | 60 | LOGICAL, SAVE :: check_cwrr !! Calculate diagnostics to check the water balance in hydrol (true/false) |
---|
[3402] | 61 | !$OMP THREADPRIVATE(check_cwrr) |
---|
[947] | 62 | |
---|
[1082] | 63 | !! Number of soil classes |
---|
[947] | 64 | |
---|
[1082] | 65 | INTEGER(i_std), PARAMETER :: ntext=3 !! Number of soil textures (Silt, Sand, Clay) |
---|
| 66 | INTEGER(i_std), PARAMETER :: nstm=3 !! Number of soil tiles (unitless) |
---|
| 67 | CHARACTER(LEN=30) :: soil_classif !! Type of classification used for the map of soil types. |
---|
| 68 | !! It must be consistent with soil file given by |
---|
| 69 | !! SOILCLASS_FILE parameter. |
---|
[3812] | 70 | !$OMP THREADPRIVATE(soil_classif) |
---|
[1082] | 71 | INTEGER(i_std), PARAMETER :: nscm_fao=3 !! For FAO Classification (unitless) |
---|
[6954] | 72 | INTEGER(i_std), PARAMETER :: nscm_usda=13 !! For USDA Classification (unitless) |
---|
[7375] | 73 | INTEGER(i_std), SAVE :: nscm=nscm_usda !! Default value for nscm |
---|
[1078] | 74 | !$OMP THREADPRIVATE(nscm) |
---|
[947] | 75 | |
---|
[1082] | 76 | !! Parameters for soil thermodynamics |
---|
| 77 | REAL(r_std), SAVE :: sn_cond = 0.3 !! Thermal Conductivity of snow |
---|
| 78 | !! @tex $(W.m^{-2}.K^{-1})$ @endtex |
---|
| 79 | !$OMP THREADPRIVATE(sn_cond) |
---|
| 80 | REAL(r_std), SAVE :: sn_dens = 330.0 !! Snow density for the soil thermodynamics |
---|
[1955] | 81 | !! (kg/m3) |
---|
[1082] | 82 | !$OMP THREADPRIVATE(sn_dens) |
---|
[7519] | 83 | REAL(r_std), SAVE :: sn_capa !! Volumetric heat capacity for snow |
---|
[1082] | 84 | !! @tex $(J.m^{-3}.K^{-1})$ @endtex |
---|
| 85 | !$OMP THREADPRIVATE(sn_capa) |
---|
[7519] | 86 | REAL(r_std), PARAMETER :: capa_ice = 2.228*1.E3 !! Specific heat capacity of ice (J/kg/K) |
---|
| 87 | |
---|
| 88 | REAL(r_std), SAVE :: water_capa = 4.18e+6 !! Volumetric water heat capacity |
---|
[2922] | 89 | !! @tex $(J.m^{-3}.K^{-1})$ @endtex |
---|
| 90 | !$OMP THREADPRIVATE(water_capa) |
---|
[7519] | 91 | REAL(r_std), SAVE :: brk_capa = 2.0e+6 !! Volumetric heat capacity of generic rock |
---|
[2922] | 92 | !! @tex $(J.m^{-3}.K^{-1})$ @endtex |
---|
| 93 | !$OMP THREADPRIVATE(brk_capa) |
---|
| 94 | REAL(r_std), SAVE :: brk_cond = 3.0 !! Thermal conductivity of saturated granitic rock |
---|
| 95 | !! @tex $(W.m^{-1}.K^{-1})$ @endtex |
---|
| 96 | !$OMP THREADPRIVATE(brk_cond) |
---|
[947] | 97 | |
---|
[5034] | 98 | REAL(r_std), SAVE :: qsintcst = 0.02 !! Transforms leaf area index into size of interception reservoir |
---|
[1082] | 99 | !! (unitless) |
---|
[1078] | 100 | !$OMP THREADPRIVATE(qsintcst) |
---|
[1082] | 101 | REAL(r_std), SAVE :: mx_eau_nobio = 150. !! Volumetric available soil water capacity in nobio fractions |
---|
| 102 | !! @tex $(kg.m^{-3} of soil)$ @endtex |
---|
| 103 | !$OMP THREADPRIVATE(mx_eau_nobio) |
---|
[947] | 104 | |
---|
[1082] | 105 | !! Parameters specific for the CWRR hydrology. |
---|
[947] | 106 | |
---|
[7337] | 107 | !! 1. Parameters for FAO-Zobler Map |
---|
[947] | 108 | |
---|
[7337] | 109 | INTEGER(i_std), PARAMETER,DIMENSION(nscm_fao) :: fao2usda = (/ 3,6,9 /) !! To find the values of Coarse, Medium, Fine in Zobler map |
---|
[7338] | 110 | !! from the USDA lookup tables |
---|
[7337] | 111 | |
---|
[1082] | 112 | !! 2. Parameters for USDA Classification |
---|
| 113 | |
---|
| 114 | !! Parameters for soil type distribution : |
---|
| 115 | !! Sand, Loamy Sand, Sandy Loam, Silt Loam, Silt, Loam, Sandy Clay Loam, Silty Clay Loam, Clay Loam, Sandy Clay, Silty Clay, Clay |
---|
| 116 | |
---|
[7432] | 117 | INTEGER(i_std), SAVE :: usda_default = 6 !! Default USDA texture class if no value found from map |
---|
| 118 | !$OMP THREADPRIVATE(usda_default) |
---|
[7338] | 119 | |
---|
[7432] | 120 | REAL(r_std), PARAMETER, DIMENSION(nscm_usda) :: soilclass_default = (/0.0, & |
---|
| 121 | 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, & !! Areal fraction of the 13 soil USDA textures; |
---|
| 122 | 0.0, 0.0, 0.0, 0.0, 0.0, 0.0/) !! the dominant one will selected |
---|
[7337] | 123 | |
---|
[2589] | 124 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: nvan_usda = & !! Van Genuchten coefficient n (unitless) |
---|
| 125 | & (/ 2.68_r_std, 2.28_r_std, 1.89_r_std, 1.41_r_std, & ! RK: 1/n=1-m |
---|
[947] | 126 | & 1.37_r_std, 1.56_r_std, 1.48_r_std, 1.23_r_std, & |
---|
[6954] | 127 | & 1.31_r_std, 1.23_r_std, 1.09_r_std, 1.09_r_std, & |
---|
| 128 | & 1.552_r_std /) ! oxisols |
---|
[1082] | 129 | |
---|
[2589] | 130 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: avan_usda = & !! Van Genuchten coefficient a |
---|
| 131 | & (/ 0.0145_r_std, 0.0124_r_std, 0.0075_r_std, 0.0020_r_std, & !! @tex $(mm^{-1})$ @endtex |
---|
[947] | 132 | & 0.0016_r_std, 0.0036_r_std, 0.0059_r_std, 0.0010_r_std, & |
---|
[6954] | 133 | & 0.0019_r_std, 0.0027_r_std, 0.0005_r_std, 0.0008_r_std, & |
---|
| 134 | & 0.0132_r_std /) ! oxisols |
---|
[1082] | 135 | |
---|
[2589] | 136 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: mcr_usda = & !! Residual volumetric water content |
---|
| 137 | & (/ 0.045_r_std, 0.057_r_std, 0.065_r_std, 0.067_r_std, & !! @tex $(m^{3} m^{-3})$ @endtex |
---|
[947] | 138 | & 0.034_r_std, 0.078_r_std, 0.100_r_std, 0.089_r_std, & |
---|
[6954] | 139 | & 0.095_r_std, 0.100_r_std, 0.070_r_std, 0.068_r_std, & |
---|
| 140 | & 0.068_r_std /) ! oxisols |
---|
[1082] | 141 | |
---|
[2589] | 142 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: mcs_usda = & !! Saturated volumetric water content |
---|
| 143 | & (/ 0.43_r_std, 0.41_r_std, 0.41_r_std, 0.45_r_std, & !! @tex $(m^{3} m^{-3})$ @endtex |
---|
[947] | 144 | & 0.46_r_std, 0.43_r_std, 0.39_r_std, 0.43_r_std, & |
---|
[6954] | 145 | & 0.41_r_std, 0.38_r_std, 0.36_r_std, 0.38_r_std, & |
---|
| 146 | & 0.503_r_std /) ! oxisols |
---|
[1082] | 147 | |
---|
[2589] | 148 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: ks_usda = & !! Hydraulic conductivity at saturation |
---|
| 149 | & (/ 7128.0_r_std, 3501.6_r_std, 1060.8_r_std, 108.0_r_std, & !! @tex $(mm d^{-1})$ @endtex |
---|
[947] | 150 | & 60.0_r_std, 249.6_r_std, 314.4_r_std, 16.8_r_std, & |
---|
[6954] | 151 | & 62.4_r_std, 28.8_r_std, 4.8_r_std, 48.0_r_std, & |
---|
| 152 | & 6131.4_r_std /) ! oxisols |
---|
[1082] | 153 | |
---|
[7337] | 154 | ! The max available water content is smaller when mcw and mcf depend on texture, |
---|
| 155 | ! so we increase pcent to a classical value of 80% |
---|
[2589] | 156 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: pcent_usda = & !! Fraction of saturated volumetric soil moisture |
---|
[3476] | 157 | & (/ 0.8_r_std, 0.8_r_std, 0.8_r_std, 0.8_r_std, & !! above which transpir is max (0-1, unitless) |
---|
| 158 | & 0.8_r_std, 0.8_r_std, 0.8_r_std, 0.8_r_std, & |
---|
[6954] | 159 | & 0.8_r_std, 0.8_r_std, 0.8_r_std, 0.8_r_std, & |
---|
| 160 | & 0.8_r_std /) ! oxisols |
---|
[1082] | 161 | |
---|
[2589] | 162 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: free_drain_max_usda = & !! Max=default value of the permeability coeff |
---|
| 163 | & (/ 1.0_r_std, 1.0_r_std, 1.0_r_std, 1.0_r_std, & !! at the bottom of the soil (0-1, unitless) |
---|
| 164 | & 1.0_r_std, 1.0_r_std, 1.0_r_std, 1.0_r_std, & |
---|
[6954] | 165 | & 1.0_r_std, 1.0_r_std, 1.0_r_std, 1.0_r_std, & |
---|
| 166 | & 1.0_r_std /) |
---|
[7337] | 167 | |
---|
| 168 | !! We use the VG relationships to derive mcw and mcf depending on soil texture |
---|
| 169 | !! assuming that the matric potential for wilting point and field capacity is |
---|
| 170 | !! -150m (permanent WP) and -3.3m respectively |
---|
| 171 | !! (-1m for FC for the three sandy soils following Richards, L.A. and Weaver, L.R. (1944) |
---|
| 172 | !! Note that mcw GE mcr |
---|
[2589] | 173 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: mcf_usda = & !! Volumetric water content at field capacity |
---|
[3476] | 174 | & (/ 0.0493_r_std, 0.0710_r_std, 0.1218_r_std, 0.2402_r_std, & !! @tex $(m^{3} m^{-3})$ @endtex |
---|
| 175 | 0.2582_r_std, 0.1654_r_std, 0.1695_r_std, 0.3383_r_std, & |
---|
[6954] | 176 | 0.2697_r_std, 0.2672_r_std, 0.3370_r_std, 0.3469_r_std, & |
---|
| 177 | 0.172_r_std /) ! oxisols |
---|
[3476] | 178 | |
---|
[2589] | 179 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: mcw_usda = & !! Volumetric water content at wilting point |
---|
[3476] | 180 | & (/ 0.0450_r_std, 0.0570_r_std, 0.0657_r_std, 0.1039_r_std, & !! @tex $(m^{3} m^{-3})$ @endtex |
---|
| 181 | 0.0901_r_std, 0.0884_r_std, 0.1112_r_std, 0.1967_r_std, & |
---|
[6954] | 182 | 0.1496_r_std, 0.1704_r_std, 0.2665_r_std, 0.2707_r_std, & |
---|
| 183 | 0.075_r_std /) ! oxisols |
---|
[1082] | 184 | |
---|
| 185 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: mc_awet_usda = & !! Vol. wat. cont. above which albedo is cst |
---|
[2589] | 186 | & (/ 0.25_r_std, 0.25_r_std, 0.25_r_std, 0.25_r_std, & !! @tex $(m^{3} m^{-3})$ @endtex |
---|
[947] | 187 | & 0.25_r_std, 0.25_r_std, 0.25_r_std, 0.25_r_std, & |
---|
[6954] | 188 | & 0.25_r_std, 0.25_r_std, 0.25_r_std, 0.25_r_std, & |
---|
| 189 | & 0.25_r_std /) |
---|
[1082] | 190 | |
---|
| 191 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: mc_adry_usda = & !! Vol. wat. cont. below which albedo is cst |
---|
[2589] | 192 | & (/ 0.1_r_std, 0.1_r_std, 0.1_r_std, 0.1_r_std, & !! @tex $(m^{3} m^{-3})$ @endtex |
---|
[947] | 193 | & 0.1_r_std, 0.1_r_std, 0.1_r_std, 0.1_r_std, & |
---|
[6954] | 194 | & 0.1_r_std, 0.1_r_std, 0.1_r_std, 0.1_r_std, & |
---|
| 195 | & 0.1_r_std /) ! oxisols |
---|
[2922] | 196 | |
---|
| 197 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: QZ_usda = & !! QUARTZ CONTENT (SOIL TYPE DEPENDENT) |
---|
[6954] | 198 | & (/ 0.92_r_std, 0.82_r_std, 0.60_r_std, 0.25_r_std, & !! Peters et al [1998] |
---|
[2922] | 199 | & 0.10_r_std, 0.40_r_std, 0.60_r_std, 0.10_r_std, & |
---|
[6954] | 200 | & 0.35_r_std, 0.52_r_std, 0.10_r_std, 0.25_r_std, & |
---|
| 201 | & 0.25_r_std /) ! oxisols |
---|
[2922] | 202 | |
---|
[7519] | 203 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: so_capa_dry_usda = & !! Dry soil Volumetric Heat capacity of soils,J.m^{-3}.K^{-1} |
---|
[6954] | 204 | & (/ 1.47e+6_r_std, 1.41e+6_r_std, 1.34e+6_r_std, 1.27e+6_r_std, & !! Pielke [2002, 2013] |
---|
[2922] | 205 | & 1.21e+6_r_std, 1.21e+6_r_std, 1.18e+6_r_std, 1.32e+6_r_std, & |
---|
[6954] | 206 | & 1.23e+6_r_std, 1.18e+6_r_std, 1.15e+6_r_std, 1.09e+6_r_std, & |
---|
[7432] | 207 | & 1.09e+6_r_std /) ! oxisols |
---|
| 208 | |
---|
| 209 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: clayfrac_usda = & !! % clay particles in the 13 USDA texture classes |
---|
| 210 | (/ 0.03_r_std, 0.06_r_std, 0.11_r_std, 0.19_r_std , & !! values taken from get_soilcorr_usda in slowproc |
---|
| 211 | 0.10_r_std, 0.20_r_std, 0.27_r_std, 0.33_r_std, & |
---|
| 212 | 0.33_r_std, 0.41_r_std, 0.46_r_std, 0.55_r_std, & |
---|
| 213 | 0.55_r_std /) ! oxisols |
---|
| 214 | |
---|
| 215 | REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: sandfrac_usda = & !! % sand particles in the 13 USDA texture classes |
---|
| 216 | (/ 0.93_r_std, 0.81_r_std, 0.63_r_std, 0.17_r_std, & !! values taken from get_soilcorr_usda in slowproc |
---|
| 217 | 0.06_r_std, 0.40_r_std, 0.54_r_std, 0.08_r_std, & |
---|
| 218 | 0.30_r_std, 0.48_r_std, 0.06_r_std, 0.15_r_std, & |
---|
| 219 | 0.15_r_std /) ! oxisols |
---|
| 220 | |
---|
[1082] | 221 | !! Parameters for the numerical scheme used by CWRR |
---|
| 222 | |
---|
[2589] | 223 | INTEGER(i_std), PARAMETER :: imin = 1 !! Start for CWRR linearisation (unitless) |
---|
| 224 | INTEGER(i_std), PARAMETER :: nbint = 50 !! Number of interval for CWRR linearisation (unitless) |
---|
| 225 | INTEGER(i_std), PARAMETER :: imax = nbint+1 !! Number of points for CWRR linearisation (unitless) |
---|
| 226 | REAL(r_std), PARAMETER :: w_time = 1.0_r_std !! Time weighting for CWRR numerical integration (unitless) |
---|
[1082] | 227 | |
---|
| 228 | |
---|
[2222] | 229 | !! Variables related to soil freezing, in thermosoil : |
---|
| 230 | LOGICAL, SAVE :: ok_Ecorr !! Flag for energy conservation correction |
---|
[5539] | 231 | !$OMP THREADPRIVATE(ok_Ecorr) |
---|
[2222] | 232 | LOGICAL, SAVE :: ok_freeze_thermix !! Flag to activate thermal part of the soil freezing scheme |
---|
[5539] | 233 | !$OMP THREADPRIVATE(ok_freeze_thermix) |
---|
[5150] | 234 | LOGICAL, SAVE :: ok_freeze_thaw_latent_heat !! Flag to activate latent heat part of the soil freezing scheme |
---|
[5539] | 235 | !$OMP THREADPRIVATE(ok_freeze_thaw_latent_heat) |
---|
[2222] | 236 | LOGICAL, SAVE :: read_reftemp !! Flag to initialize soil temperature using climatological temperature |
---|
[5539] | 237 | !$OMP THREADPRIVATE(read_reftemp) |
---|
[2222] | 238 | REAL(r_std), SAVE :: fr_dT !! Freezing window (K) |
---|
[5539] | 239 | !$OMP THREADPRIVATE(fr_dT) |
---|
[1082] | 240 | |
---|
[2222] | 241 | !! Variables related to soil freezing, in hydrol : |
---|
| 242 | LOGICAL, SAVE :: ok_freeze_cwrr !! CWRR freezing scheme by I. Gouttevin |
---|
[5539] | 243 | !$OMP THREADPRIVATE(ok_freeze_cwrr) |
---|
[2222] | 244 | LOGICAL, SAVE :: ok_thermodynamical_freezing !! Calculate frozen fraction thermodynamically |
---|
[5539] | 245 | !$OMP THREADPRIVATE(ok_thermodynamical_freezing) |
---|
[2222] | 246 | |
---|
| 247 | |
---|
| 248 | END MODULE constantes_soil_var |
---|