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_ref
Reference 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} end
Moisture dependent moisture factor.
ClimateMachine.Land.SoilWaterParameterizations.MoistureIndependent
— TypeMoistureIndependent{FT} <: AbstractMoistureFactor{FT} end
Moisture 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
n
Exponent 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).
m
Exponent 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.
m
Exponent 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
k
exponent in conductivity
A
constant A (units of cm^k) using in conductivity. Our sim is in meters
n
Exponent 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).
m
Exponent 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.