Soil resistance
Input: Soil layers (θ, ψ, K, b, Δz), root parameters, LAI
│
▼
┌────────────────────────────────────────┐
│ For each soil layer j = 1 to 11: │
│ │
│ 1. K_soil = Ksat · s^(2b+3) │
│ (soil hydraulic conductivity) │
│ │
│ 2. RLD = root biomass / (ρ · π·r²·Δz) │
│ (root length density) │
│ │
│ 3. r_dist = 1/√(π·RLD) │
│ (half-distance between roots) │
│ │
│ 4. R_soil = ln(r_dist/r_root) │
│ / (2π·RLD·Δz·K) │
│ (soil-to-root radial resistance) │
│ │
│ 5. R_root = ρ_resist / (ρ_bio · Δz) │
│ (root tissue resistance) │
│ │
│ 6. R_layer = R_soil + R_root (series)│
│ │
│ 7. Sum conductances: Σ 1/R_layer │
│ (parallel across layers) │
│ │
│ 8. E_max,j = (ψ_soil,j − ψ_min)/R_j │
│ (max transpiration from layer) │
└────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────┐
│ R_total = LAI / Σ(1/R_layer) │
│ (convert ground → leaf area) │
└────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────┐
│ ψ_soil = Σ(ψ_j · E_max,j) / Σ E_max │
│ (transpiration-weighted potential) │
└────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────┐
│ et_loss_j = E_max,j / Σ E_max │
│ (fractional uptake per layer) │
└────────────────────────────────────────┘
│
▼
Return rsoil, psi_soil, et_loss
soil_resistance
def soil_resistance(
physcon:PhysCon, # Physical constants:
- grav : float
Gravitational acceleration (m/s2).
- denh2o : float
Density of liquid water (kg/m3).
- mmh2o : float
Molecular mass of water (kg/mol).
leaf:Leaf, # Leaf parameters:
- minl_wp : float
Minimum leaf water potential (MPa).
rootvar:RootVar, # Fine root parameters:
- biomass : float
Fine root biomass (g biomass/m2).
- radius : float
Fine root radius (m).
- density : float
Fine root density (g biomass/m3 root).
- resist : float
Hydraulic resistivity of root tissue
(MPa · s · g/mmol H2O).
soil:Soil, # Soil profile variables:
- nlevsoi : int
Number of soil layers.
- h2osoi_vol : list of float
Volumetric water content for each layer (m3/m3).
- psi : list of float
Matric potential for each layer (mm).
- watsat : list of float
Volumetric water content at saturation (porosity)
for each layer (m3/m3).
- hksat : list of float
Hydraulic conductivity at saturation for each layer
(mm H2O/s).
- bsw : list of float
Clapp and Hornberger "b" parameter for each layer (-).
- rootfr : list of float
Fraction of roots in each layer (-).
- dz : list of float
Thickness of each layer (m).
flux:Flux, # Flux variables:
- lai : float
Canopy leaf area index (m2/m2).
)->Flux: # Updated flux object with the following attributes:
- rsoil : float
Soil hydraulic resistance (MPa · s · m2/mmol H2O).
- psi_soil : float
Weighted soil water potential (MPa).
- et_loss : list of float
Fraction of total transpiration from each soil layer (-).
Calculate soil hydraulic resistance, weighted soil water potential, and water uptake from each soil layer.
For each soil layer, computes the belowground resistance as the sum of a soil-to-root radial resistance (based on soil hydraulic conductivity and root geometry) and a root-to-stem axial resistance (based on root tissue resistivity). Layers are treated as parallel pathways, so their conductances (1/resistance) are summed to obtain the total belowground conductance. The weighted soil water potential is computed by weighting each layer’s matric potential by its maximum transpiration capacity.
The soil-to-root radial resistance for each layer is:
R_soil = ln(r_dist / r_root) / (2π · RLD · Δz · K_soil)
where r_dist is the mean half-distance between roots, RLD is root length density, Δz is layer thickness, and K_soil is the unsaturated hydraulic conductivity. The root-to-stem axial resistance is:
R_root = ρ_root / (ρ_biomass · Δz)
where ρ_root is the root tissue hydraulic resistivity and ρ_biomass is the root biomass density. The total belowground resistance per unit ground area is converted to per unit leaf area by multiplying by LAI.
The weighted soil water potential uses the maximum transpiration rate from each layer (ψ_soil,j - ψ_min) / R_j as weights, so that wetter, better-connected layers contribute more to the effective soil water supply.
Parameters:
- PhysCon : Physical constants:
- grav : Gravitational acceleration (m/s2).
- denh2o : Density of liquid water (kg/m3).
- mmh2o : Molecular mass of water (kg/mol).
- Leaf : Leaf parameters:
- minl_wp : Minimum leaf water potential (MPa).
- RootVar : Fine root parameters:
- biomass : Fine root biomass (g biomass/m2).
- radius : Fine root radius (m).
- density : Fine root density (g biomass/m3 root).
- resist : Hydraulic resistivity of root tissue (MPa · s · g/mmol H2O)
- Soil : Soil profile variables:
- nlevsoi : Number of soil layers.
- h2osoi_vol : Volumetric water content for each layer (m3/m3).
- psi : Matric potential for each layer (mm).
- watsat : Volumetric water content at saturation (porosity)for each layer (m3/m3).
- hksat : Hydraulic conductivity at saturation for each layer (mm H2O/s).
- bsw : Clapp and Hornberger “b” parameter for each layer (-).
- rootfr : Fraction of roots in each layer (-).
- dz : Thickness of each layer (m).
- Flux : Flux variables:
- lai : Canopy leaf area index (m2/m2).
Returns:
- Flux : Updated flux object with the following attributes:
- rsoil : Soil hydraulic resistance (MPa · s · m2/mmol H2O).
- psi_soil : Weighted soil water potential (MPa).
- et_loss : Fraction of total transpiration from each soil layer (-).