Soil Water Parameterizations
Water functions
ClimateMachine.Land.SoilWaterParameterizations.AbstractImpedanceFactor — TypeAbstractImpedanceFactor{FT <: AbstractFloat}ClimateMachine.Land.SoilWaterParameterizations.NoImpedance — TypeNoImpedance{FT} <: AbstractImpedanceFactor{FT}A model to indicate to dependence on ice for the hydraulic conductivity.
ClimateMachine.Land.SoilWaterParameterizations.IceImpedance — TypeIceImpedance{FT} <: AbstractImpedanceFactor{FT}The necessary parameters for the empirical impedance factor due to ice.
Fields
ΩEmpirical coefficient from Hansson 2014.
ClimateMachine.Land.SoilWaterParameterizations.impedance_factor — Functionimpedance_factor(
imp::NoImpedance{FT},
θ_i::FT,
θ_l::FT,
) where {FT}Returns the impedance factor when no effect due to ice is desired. Returns 1.
The other arguments are included to unify the function call.
impedance_factor(
imp::IceImpedance{FT},
θ_i::FT,
θ_l::FT,
) where {FT}Returns the impedance factor when an effect due to the fraction of ice is desired.
ClimateMachine.Land.SoilWaterParameterizations.AbstractViscosityFactor — TypeAbstractViscosityFactor{FT <: AbstractFloat}ClimateMachine.Land.SoilWaterParameterizations.ConstantViscosity — TypeConstantViscosity{FT} <: AbstractViscosityFactor{FT}A model to indicate a constant viscosity - independent of temperature - factor in hydraulic conductivity.
ClimateMachine.Land.SoilWaterParameterizations.TemperatureDependentViscosity — TypeTemperatureDependentViscosity{FT} <: AbstractViscosityFactor{FT}The necessary parameters for the temperature dependent portion of hydraulic conductivity.
Fields
γEmpirical coefficient
T_refReference temperature
ClimateMachine.Land.SoilWaterParameterizations.viscosity_factor — Functionviscosity_factor(
vm::ConstantViscosity{FT},
T::FT,
) where {FT}Returns the viscosity factor when we choose no temperature dependence, i.e. a constant viscosity. Returns 1.
T is included as an argument to unify the function call.
viscosity_factor(
vm::TemperatureDependentViscosity{FT},
T::FT,
) where {FT}Returns the viscosity factor when we choose a TemperatureDependentViscosity.
ClimateMachine.Land.SoilWaterParameterizations.AbstractMoistureFactor — TypeAbstractMoistureFactor{FT <:AbstractFloat}ClimateMachine.Land.SoilWaterParameterizations.MoistureDependent — TypeMoistureDependent{FT} <: AbstractMoistureFactor{FT} endMoisture dependent moisture factor.
ClimateMachine.Land.SoilWaterParameterizations.MoistureIndependent — TypeMoistureIndependent{FT} <: AbstractMoistureFactor{FT} endMoisture independent moisture factor.
ClimateMachine.Land.SoilWaterParameterizations.moisture_factor — Functionmoisture_factor(
mm::MoistureDependent{FT},
hm::vanGenuchten{FT},
S_l::FT,
) where {FT}Returns the moisture factor of the hydraulic conductivy assuming a MoistureDependent and van Genuchten hydraulic model.
moisture_factor(
mm::MoistureDependent{FT},
hm::BrooksCorey{FT},
S_l::FT,
) where {FT}Returns the moisture factor of the hydraulic conductivy assuming a MoistureDependent and Brooks/Corey hydraulic model.
moisture_factor(
mm::MoistureDependent{FT},
hm::Haverkamp{FT},
S_l::FT,
) where {FT}Returns the moisture factor of the hydraulic conductivy assuming a MoistureDependent and Haverkamp hydraulic model.
moisture_factor(mm::MoistureIndependent{FT},
hm::AbstractHydraulicsModel{FT},
S_l::FT,
) where {FT}Returns the moisture factor in hydraulic conductivity when a MoistureIndependent model is chosen. Returns 1.
Note that the hydraulics model and S_l are not used, but are included as arguments to unify the function call.
ClimateMachine.Land.SoilWaterParameterizations.AbstractHydraulicsModel — TypeAbstractsHydraulicsModel{FT <: AbstractFloat}Hydraulics model is used in the moisture factor in hydraulic conductivity and in the matric potential. The single hydraulics model choice sets both of these.
ClimateMachine.Land.SoilWaterParameterizations.vanGenuchten — TypevanGenuchten{FT} <: AbstractHydraulicsModel{FT}The necessary parameters for the van Genuchten hydraulic model; defaults are for Yolo light clay.
Fields
nExponent parameter - used in matric potential
αused in matric potential. The inverse of this carries units in the expression for matric potential (specify in inverse meters).
mExponent parameter - determined by n, used in hydraulic conductivity
ClimateMachine.Land.SoilWaterParameterizations.BrooksCorey — TypeBrooksCorey{FT} <: AbstractHydraulicsModel{FT}The necessary parameters for the Brooks and Corey hydraulic model.
Defaults are chosen to somewhat mirror the Havercamp/vG Yolo light clay hydraulic conductivity/matric potential.
Fields
ψbψ_b - used in matric potential. Units of meters.
mExponent used in matric potential and hydraulic conductivity.
ClimateMachine.Land.SoilWaterParameterizations.Haverkamp — TypeHaverkamp{FT} <: AbstractHydraulicsModel{FT}The necessary parameters for the Haverkamp hydraulic model for Yolo light clay.
Note that this only is used in creating a hydraulic conductivity function, and another formulation for matric potential must be used.
Fields
kexponent in conductivity
Aconstant A (units of cm^k) using in conductivity. Our sim is in meters
nExponent parameter - using in matric potential
αused in matric potential. The inverse of this carries units in the expression for matric potential (specify in inverse meters).
mExponent parameter - determined by n, used in hydraulic conductivity
ClimateMachine.Land.SoilWaterParameterizations.hydraulic_conductivity — Functionhydraulic_conductivity(
impedance::AbstractImpedanceFactor{FT},
viscosity::AbstractViscosityFactor{FT},
moisture::AbstractMoistureFactor{FT},
hydraulics::AbstractHydraulicsModel{FT},
θ_i::FT,
porosity::FT,
T::FT,
S_l::FT,
) where {FT}Returns the hydraulic conductivity.
ClimateMachine.Land.SoilWaterParameterizations.effective_saturation — Functioneffective_saturation(
porosity::FT,
ϑ_l::FT
) where {FT}Compute the effective saturation of soil.
ϑ_l is defined to be zero or positive. If ϑ_l is negative, hydraulic functions that take it as an argument will return imaginary numbers, resulting in domain errors. Exit in this case with an error.
ClimateMachine.Land.SoilWaterParameterizations.pressure_head — Functionpressure_head(
model::AbstractHydraulicsModel{FT},
porosity::FT,
S_s::FT,
ϑ_l::FT,
) where {FT}Determine the pressure head in both saturated and unsaturated soil.
ClimateMachine.Land.SoilWaterParameterizations.hydraulic_head — Functionhydraulic_head(z,ψ)Return the hydraulic head.
The hydraulic head is defined as the sum of vertical height z and pressure head ψ; meters.
ClimateMachine.Land.SoilWaterParameterizations.matric_potential — Functionmatric_potential(
model::vanGenuchten{FT},
S_l::FT
) where {FT}Compute the van Genuchten function for matric potential.
matric_potential(
model::Haverkamp{FT},
S_l::FT
) where {FT}Compute the van Genuchten function as a proxy for the Haverkamp model matric potential (for testing purposes).
matric_potential(
model::BrooksCorey{FT},
S_l::FT
) where {FT}Compute the Brooks and Corey function for matric potential.
ClimateMachine.Land.SoilWaterParameterizations.volumetric_liquid_fraction — Functionvolumetric_liquid_fraction(
ϑ_l::FT,
porosity::FT,
) where {FT}Compute the volumetric liquid fraction from the porosity and the augmented liquid fraction.