CLASSIC
Canadian Land Surface Scheme including Biogeochemical Cycles
soilProperties.f90 File Reference

Assigns thermal and hydraulic properties to soil layers based on sand/clay content, or soil type. Also calculates permeable thickness of soil layers, and wet and dry surface albedo for mineral soils. More...

Functions/Subroutines

subroutine soilproperties (THPOR, THLRET, THLMIN, BI, PSISAT, GRKSAT, THLRAT, HCPS, TCS, THFC, THLW, PSIWLT, DELZW, ZBOTW, ALGWV, ALGWN, ALGDV, ALGDN, SAND, CLAY, ORGM, SOCI, DELZ, ZBOT, SDEPTH, ISAND, IGDR, NL, NM, IL1, IL2, IM, IG, ipeatland)
 

Detailed Description

Assigns thermal and hydraulic properties to soil layers based on sand/clay content, or soil type. Also calculates permeable thickness of soil layers, and wet and dry surface albedo for mineral soils.

Author
D. Verseghy, M. Lazare, V. Fortin, Y. Wu, J. Melton

Function/Subroutine Documentation

◆ soilproperties()

subroutine soilproperties ( real, dimension (nl,nm,ig), intent(out)  THPOR,
real, dimension(nl,nm,ig), intent(out)  THLRET,
real, dimension(nl,nm,ig), intent(out)  THLMIN,
real, dimension (nl,nm,ig), intent(out)  BI,
real, dimension(nl,nm,ig), intent(out)  PSISAT,
real, dimension(nl,nm,ig), intent(out)  GRKSAT,
real, dimension(nl,nm,ig), intent(out)  THLRAT,
real, dimension (nl,nm,ig), intent(out)  HCPS,
real, dimension (nl,nm,ig), intent(out)  TCS,
real, dimension (nl,nm,ig), intent(out)  THFC,
real, dimension (nl,nm,ig), intent(out)  THLW,
real, dimension(nl,nm,ig), intent(out)  PSIWLT,
real, dimension (nl,nm,ig), intent(out)  DELZW,
real, dimension (nl,nm,ig), intent(out)  ZBOTW,
real, dimension (nl,nm), intent(out)  ALGWV,
real, dimension (nl,nm), intent(out)  ALGWN,
real, dimension (nl,nm), intent(out)  ALGDV,
real, dimension (nl,nm), intent(out)  ALGDN,
real, dimension (nl,nm,ig), intent(in)  SAND,
real, dimension (nl,nm,ig), intent(in)  CLAY,
real, dimension (nl,nm,ig), intent(in)  ORGM,
real, dimension (nl,nm), intent(in)  SOCI,
real, dimension (ig), intent(in)  DELZ,
real, dimension (ig), intent(in)  ZBOT,
real, dimension(nl,nm), intent(in)  SDEPTH,
integer, dimension (nl,nm,ig), intent(inout)  ISAND,
integer, dimension (nl,nm), intent(inout)  IGDR,
integer, intent(in)  NL,
integer, intent(in)  NM,
integer, intent(in)  IL1,
integer, intent(in)  IL2,
integer, intent(in)  IM,
integer, intent(in)  IG,
integer, dimension(nl,nm), intent(in)  ipeatland 
)
Parameters
[out]thporPore volume \([m^3 m^{-3} ] ( \theta_p)\)
[out]thlretLiquid water retention capacity for organic soil \([m^3 m^{-3} ] (\theta_{ret} )\)
[out]thlminResidual soil liquid water content remaining after freezing or evaporation \([m^3 m^{-3} ] (\theta_{min} )\)
[out]biClapp and Hornberger empirical parameter [ ] (b)
[out]psisatSoil moisture suction at saturation [m] \((\Psi_{sat} )\)
[out]grksatHydraulic conductivity of soil at saturation \([m s^{-1} ] (K_{sat} )\)
[out]thlratFractional saturation of soil at half the saturated hydraulic conductivity [ ] \((f_{inf} )\)
[out]hcpsVolumetric heat capacity of soil matter \([J m^{-3} K^{-1} ] (C_g)\)
[out]tcsThermal conductivity of soil \([W m^{-1} K^{-1} ] (\tau_g)\)
[out]thfcField capacity \([m^3 m^{-3} ] (\theta_{fc} )\)
[out]thlwSoil water content at wilting point, \([m^3 m^{-3} ] (\theta_{wilt})\)
[out]psiwltSoil moisture suction at wilting point [m] \((\Psi_{wilt} )\)
[out]delzwThickness of permeable part of soil layer [m]
[out]zbotwDepth of bottom of permeable part of soil layer [m]
[out]algwvVisible albedo of wet soil for modelled area [ ]
[out]algwnNear-IR albedo of wet soil for modelled area [ ]
[out]algdvVisible albedo of dry soil for modelled area [ ]
[out]algdnNear-IR albedo of dry soil for modelled area [ ]
[in,out]isandSand content flag
[in,out]igdrIndex of soil layer in which bedrock is encountered
[in]ipeatlandPeatland flag: 0 = not a peatland, 1 = bog, 2 = fen
[in]sandPercent sand content of soil layer [percent] \((X_{sand} )\)
[in]clayPercent clay content of soil layer [percent] \((X_{clay} )\)
[in]orgmPercent organic matter content of soil layer [percent]
[in]delzThickness of soil layer [m]
[in]zbotDepth of bottom of soil layer [m]
[in]sdepthPermeable depth of soil column (depth to bedrock) [m] \((z_b)\)
[in]sociSoil colour index

In the first section of code, two integer :: flags are evaluated: IGDR, the index of the soil layer in which the bottom of the soil permeable depth, \(z_b\) , occurs; and ISAND, the value of the SAND variable for each soil layer converted to an integer. ISAND is used throughout the CLASS code as a flag to determine which branches of code to execute.

In loop 200, calculations are done to determine the permeable thickness DELZW of each soil layer. If the land cover is an ice sheet (indicated by an ISAND value of -4 in the top layer), the value of DELZW in each layer is set to DELZ, the standard thickness of the corresponding thermal layer, and the soil flag is set to -4. If the layer consists of rock, indicated by an ISAND value of -3, DELZW is set to 0. For soil layers where \(z_b\) occurs below the bottom of the layer, DELZW is set to DELZ; for layers where \(z_b\) occurs near the top of the layer, DELZW is set to 0 and ISAND is set to -3. For the soil layer containing \(z_b\) , DELZW is set to the distance from the top of the layer to \(z_b\) , and is further constrained to be \(\geq\) 5 cm, to avoid overshoots in the water movement calculations. For all layers, the distance to the bottom of its respective permeable depth, ZBOTW, is set to the depth of the top of the layer plus DELZW. At the end of the loop, if the soil is a mineral one, the wet and dry visible and near-IR soil albedo values are assigned using the lookup tables ALWV, ALWN, ALDV and ALDN found in the DATA section of the subroutine, on the basis of a global gridded soil “colour” (i.e. reflectivity) index SOCI, documented in Lawrence and Chase (2007) [55] and Oleson et al. (2010) [73].

In loop 300, various thermal and hydraulic soil properties are assigned to each of the soil layers, depending on soil type. Values of ISAND greater than or equal to zero indicate mineral soil. The pore volume \(\theta_p\) , the saturated hydraulic conductivity \(K_{sat}\) , and the soil moisture suction at saturation \(\Psi\) sat are calculated from the percentage sand content \(X_{sand}\) , and the hydraulic parameter b is calculated from the percentage clay content \(X_{clay}\) , based on empirical relationships given in Cosby et al. (1984) [27]

\(\theta_p = (-0.126 X_{sand} +48.9)/100.0\)

\(b = 0.159 X_{clay} + 2.91\)

\(\Psi_{sat} = 0.01 exp(-0.0302 X_{sand} + 4.33)\)

\(K_{sat} = 7.0556 x 10 -6 exp(0.0352 X_{sand} - 2.035)\)

The fractional saturation of the soil at half the saturated hydraulic conductivity, \(f_{inf}\) , is calculated by inverting the Clapp and Hornberger (1978) [21] expression relating hydraulic conductivity \(K\) to liquid water content of the soil \(\theta_l\) : \(K = K_{sat} (\theta_l / \theta_p) (2b + 3)\)

Thus, \(f_{inf} = 0.51/(2b+3)\)

The residual soil liquid water content remaining after evaporation or freezing, \(\theta_{min}\) , and the liquid water retention capacity, \(\theta_{ret}\) , are both set for mineral soils to a textbook value of 0.04. The volumetric sand, silt + clay and organic matter components of the soil matrix are derived by converting the percent values to volume fractions. The overall volumetric heat capacity of the soil material, \(C_g\) , is then calculated as a weighted average: \(C_g = \Sigma (C_{sand} \theta_{sand} + C_{fine} \theta_{fine} + C_{org} \theta_{org} )/(1 - \theta_p)\) where the subscript "fine" refers to the silt and clay particles taken together. The thermal conductivity of the soil material, \(\tau_g\) , is likewise calculated as a weighted average over the thermal conductivities of the components: \(\tau_g = \Sigma (\tau_{sand} \theta_{sand} + \tau_{fine} \theta_{fine} + \tau_{org} \theta_{org} )/(1 - \theta_p)\)

The field capacity \(\theta_{fc}\) , that is, the liquid water content of the soil at which gravitational drainage effectively ceases, is calculated by setting the expression for K above to a value of 0.1 mm \(d^{-1}\) , and solving for the liquid water content: \(\theta_{fc} = \theta_p (1.157 x 10^{-9} /K_{sat} )^{1/(2b + 3)}\)

The only exception is the field capacity of the lowest permeable layer in mineral soils (layer IGDR), which is determined using an expression developed by Soulis et al. (2010), which takes into account the permeable depth of the whole overlying soil: \(\theta_{fc} = \theta_p /(b-1) \bullet (\Psi_{sat} b/ z_b)^{1/b} \bullet [(3b+2)^{(b-1)/b} - (2b+2)^{(b-1)/b} ]\)

The soil moisture suction \(\Psi_{wilt}\) at the wilting point (the liquid water content at which plant roots can no longer draw water from the soil) is assigned a textbook value of 150.0 m. The liquid water content at the wilting point, \( \theta_{wilt} \), is determined from \(\Psi_{wilt}\) by inverting the calculated from the saturated soil moisture suction using the Clapp and Hornberger (1978) [21] expression for soil moisture suction as a function of liquid water content: \( \theta_{wilt} = \theta_p (\theta_{wilt} / \Psi_{sat} )^{-1/b} \)

Organic soils are flagged with an ISAND value of -2. For these soils, the variables \(\theta_p\) , b, \(K_{sat}\) , \(\Psi_{sat}\) , \(\theta_{min}\) , and \(\theta_{ret}\) are assigned values based on the peat texture (fibric, hemic or sapric). These values are obtained from the arrays in common block CLASS5 (see the soilProperties documentation above). The current default is to assume the first soil layer as fibric, the second as hemic, and any lower layers as sapric. The volumetric heat capacity and thermal conductivity are set to textbook values for organic matter; the field capacity is set equal to the retention capacity; \(f_{inf}\) is obtained as above; and \(\Psi_{wilt}\) is assume to apply at a liquid water content of \(\theta_{min}\) .

In the cases of rock soils and ice sheets (respectively flagged with ISAND values of -3 and -4), all of the above variables are set to zero except for the volumetric heat capacity and the thermal conductivity, which are assigned values representative of rock or ice.