Soil Biogeochemistry
This component model is available for use, but is still under development and is not yet fully debugged. Note that errors in this component do not propagate back to other component models.
Model Structure
ClimaLand.Soil.Biogeochemistry.SoilCO2Model — Type
SoilCO2ModelA model for simulating the production and transport of CO₂ in the soil with dynamic source and diffusion terms.
ClimaLand v1: SoilCO2 is still under testing; in particular, in global runs, an instability appears in some columns, and the prognostic equation does not enforce the positivity of CO2.
parameters: the parameter setdomain: the soil domain, using ClimaCore.Domainsboundary_conditions: the boundary conditions, of type NamedTuplesources: A tuple of sources, each of type AbstractSourcedrivers: Drivers
Parameter Structure
ClimaLand.Soil.Biogeochemistry.SoilCO2ModelParameters — Type
SoilCO2ModelParameters{FT <: AbstractFloat, PSE}A struct for storing parameters of the SoilCO2Model.
All of these parameters are currently treated as global constants.
D_ref: Diffusion coefficient for CO₂ in air at standard temperature and pressure (m² s⁻¹)D_liq: Diffusivity of soil C substrate in liquid (unitless)α_sx: Pre-exponential factor (kg C m-3 s-1)Ea_sx: Activation energy (J mol-1)kM_sx: Michaelis constant (kg C m-3)kM_o2: Michaelis constant for O2 (m3 m-3)O2_a: Volumetric fraction of O₂ in the soil air, dimensionlessD_oa: Diffusion coefficient of oxygen in air, dimensionlessp_sx: Fraction of soil carbon that is considered soluble, dimensionlessearth_param_set: Physical constants used Clima-wide
ClimaLand.Soil.Biogeochemistry.SoilCO2ModelParameters — Method
SoilCO2ModelParameters(toml_dict::CP.ParamDict)SoilCO2ModelParameters provides a constructor using the TOML dict. Keywords arguments can be used to directly override any parameters.
Model-specific Types
ClimaLand.Soil.Biogeochemistry.MicrobeProduction — Type
MicrobeProduction{FT} <: AbstractCarbonSource{FT}Struct for the microbe production of CO2, appearing as a source term in the differential equation.
ClimaLand.Soil.Biogeochemistry.SoilCO2FluxBC — Type
SoilCO2FluxBC <: ClimaLand.AbstractBCA container holding the CO2 flux boundary condition, which is a function f(p,t), where p is the auxiliary state vector.
ClimaLand.Soil.Biogeochemistry.SoilCO2StateBC — Type
SoilCO2StateBC <: ClimaLand.AbstractBCA container holding the CO2 state boundary condition (kg CO2 m−3), which is a function f(p,t), where p is the auxiliary state vector.
ClimaLand.Soil.Biogeochemistry.AtmosCO2StateBC — Type
AtmosCO2StateBC <: ClimaLand.AbstractBCSet the CO2 concentration to the atmospheric one.
ClimaLand.Soil.Biogeochemistry.AbstractSoilDriver — Type
AbstractSoilDriverAn abstract type for drivers of soil CO2 production and diffusion. These are soil temperature, soil moisture, root carbon, soil organic matter and microbe carbon, and atmospheric pressure. Soil temperature and moisture, as well as soc, vary in space (horizontally and vertically) and time. Atmospheric pressure vary in time (defined at the surface only, not with depth).
ClimaLand.Soil.Biogeochemistry.SoilDrivers — Type
SoilDriversA container which passes in the soil drivers to the biogeochemistry model. These drivers are either of type Prescribed (for standalone mode) or Prognostic (for running with a prognostic model for soil temp and moisture).
met: Soil temperature and moisture drivers - Prescribed or Prognosticsoc: Soil SOM driver - Prescribed onlyatmos: Prescribed or coupled atmospheric variables
ClimaLand.Soil.Biogeochemistry.PrescribedMet — Type
PrescribedMet <: AbstractSoilDriverA container which holds the prescribed functions for soil temperature and moisture.
This is meant for use when running the biogeochemistry model in standalone mode, without a prognostic soil model.
temperature: The temperature of the soil, of the form f(z::FT,t) where FT <: AbstractFloatvolumetric_liquid_fraction: Soil moisture, of the form f(z::FT,t) FT <: AbstractFloatν: Soil porosity (m³ m⁻³)θ_a100: Air-filled porosity at soil water potential of -100 cm H₂O (~ 10 Pa)b: Absolute value of the slope of the line relating log(ψ) versus log(S) (unitless)
Functions of State
ClimaLand.Soil.Biogeochemistry.volumetric_air_content — Function
volumetric_air_content(θ_w::FT,
ν::FT,
) where {FT}Computes the volumetric air content (θ_a) in the soil, which is related to the total soil porosity (ν) and volumetric soil water content (θ_w = θ_l+θ_i).
ClimaLand.Soil.Biogeochemistry.co2_diffusivity — Function
co2_diffusivity(
T_soil::FT,
θ_w::FT,
P_sfc::FT,
θ_a100::FT,
b::FT,
ν::FT,
params::SoilCO2ModelParameters{FT},
) where {FT}Computes the diffusivity of CO₂ within the soil (D).
First, D0 is computed using the temperature within the soil (T_soil in K) and pressure at the surface of the soil (P_sfc in Pa), using reference values of T_ref and P_ref (273 K and 101325 Pa). Here, θ_a is the volumetric air content and θ_a100 is the volumetric air content at a soil water potential of 100cm, and b is the pore size distribution of the soil.
This parameterization is from Ryan et al., GMD 11, 1909-1928, 2018, https://doi.org/10.5194/gmd-11-1909-2018.
ClimaLand.Soil.Biogeochemistry.microbe_source — Function
microbe_source(T_soil::FT,
θ_l::FT,
Csom::FT,
ν::FT,
params::SoilCO2ModelParameters{FT}
) where {FT}Computes the CO₂ production in the soil by microbes, in depth and time (kg C / m^3/s), using the Dual Arrhenius Michaelis Menten model (Davidson et al., 2012).
Extendible Functions
ClimaLand.Soil.Biogeochemistry.soil_moisture — Function
soil_moisture(driver::PrognosticSoil, p, Y, t, z)Returns the volumetric liquid fraction, computed by the soil model from the prognostic liquid and ice fractions.
soil_moisture(driver::PrescribedMet, p, Y, t, z)Returns the soil moisture at location (z) and time (t) for the prescribed soil case.
ClimaLand.Soil.Biogeochemistry.soil_temperature — Function
soil_temperature(driver::PrognosticSoil, p, Y, t, z)Returns the prognostic soil temperature.
soil_temperature(driver::PrescribedMet, p, Y, t, z)Returns the soil temperature at location (z) and time (t) for the prescribed soil case.