Soil params

Root Distribution by Soil Layer

Gale, M. R., & Grigal, D. F. (1987). Vertical root distributions of northern tree species in relation to successional status. Canadian Journal of Forest Research, 17(8), 829-834

The root distribution follows the model of Gale and Grigal (1987), where the cumulative fraction of roots above depth d (in cm) is given by:

Y(d) = 1 − β^d

The fraction of roots within a layer between depths z1 and z2 is then:

rootfr = Y(z2) − Y(z1) = β^z1 − β^z2

Root fraction calculated using Y(d) = 1 − β^d with β = 0.90 (shallow root profile).

Layer dz (m) z1 (cm) z2 (cm) rootfr Cumulative rootfr
0 0.05 0.0 5.0 0.410 0.410
1 0.05 5.0 10.0 0.242 0.651
2 0.10 10.0 20.0 0.227 0.878
3 0.10 20.0 30.0 0.079 0.957
4 0.20 30.0 50.0 0.031 0.988
5 0.20 50.0 70.0 0.008 0.995
6 0.20 70.0 90.0 0.003 0.998
7 0.30 90.0 120.0 0.001 0.999
8 0.40 120.0 160.0 0.000 1.000
9 0.40 160.0 200.0 0.000 1.000
10 0.50 200.0 250.0 0.000 1.000

source

soil_params


def soil_params(
    soil:Soil, # Soil object with the following input attribute:
- texture : int
    Soil texture class:
        1: sand, 2: loamy sand, 3: sandy loam, 4: silt loam,
        5: loam, 6: sandy clay loam, 7: silty clay loam,
        8: clay loam, 9: sandy clay, 10: silty clay, 11: clay
)->Soil: # Updated soil object with the following attributes:
- nlevsoi : int
    Number of soil layers.
- dz : list[float]
    Soil layer thickness (m).
- rootfr : list[float]
    Fraction of roots in each soil layer (-).
- watsat : list[float]
    Soil layer volumetric water content at saturation, i.e. porosity (-).
- psisat : list[float]
    Soil layer matric potential at saturation (mm).
- hksat : list[float]
    Soil layer hydraulic conductivity at saturation (mm H2O/s).
- bsw : list[float]
    Soil layer Clapp and Hornberger "b" parameter (-).

Set soil hydraulic parameters, soil depth, and rooting fraction.

Parameters:

  • soil: Soil object with the following input attribute:

    • texture: Soil texture class: 1: sand, 2: loamy sand, 3: sandy loam, 4: silt loam, 5: loam, 6: sandy clay loam, 7: silty clay loam, 8: clay loam, 9: sandy clay, 10: silty clay, 11: clay

Returns:

  • soil: Updated Soil object with the following attributes:

    • nlevsoi: Number of soil layers.
    • dz: Soil layer thickness (m).
    • rootfr: Fraction of roots in each soil layer (-).
    • watsat: Soil layer volumetric water content at saturation, i.e. porosity (-).
    • psisat: Soil layer matric potential at saturation (mm).
    • hksat: Soil layer hydraulic conductivity at saturation (mm H2O/s).
    • bsw: Soil layer Clapp and Hornberger “b” parameter (-).

Example soil_params()

soil = Soil()
pprint(vars(soil_params(soil=soil)))
{'bsw': [5.39, 5.39, 5.39, 5.39, 5.39, 5.39, 5.39, 5.39, 5.39, 5.39, 5.39],
 'dz': [0.05, 0.05, 0.1, 0.1, 0.2, 0.2, 0.2, 0.3, 0.4, 0.4, 0.5],
 'h2osoi_vol': [],
 'hksat': [0.0069500000000000004,
           0.0069500000000000004,
           0.0069500000000000004,
           0.0069500000000000004,
           0.0069500000000000004,
           0.0069500000000000004,
           0.0069500000000000004,
           0.0069500000000000004,
           0.0069500000000000004,
           0.0069500000000000004,
           0.0069500000000000004],
 'nlevsoi': 11,
 'psi': [],
 'psisat': [-478, -478, -478, -478, -478, -478, -478, -478, -478, -478, -478],
 'rootfr': [0.40950999999999993,
            0.24181155989999997,
            0.22710178550943075,
            0.07918549631535311,
            0.03723738306789612,
            0.004527196459102321,
            0.0005504014001719315,
            7.2948102027868e-05,
            3.181514910617433e-06,
            4.7025599470265064e-08,
            7.018718816859497e-10],
 'texture': 5,
 'watsat': [0.451,
            0.451,
            0.451,
            0.451,
            0.451,
            0.451,
            0.451,
            0.451,
            0.451,
            0.451,
            0.451]}