ClimaLSM

LSM Model Types and methods

ClimaLSM.SoilPlantHydrologyModelType
struct SoilPlantHydrologyModel{
    FT,
    SM <: Soil.AbstractSoilModel{FT},
    VM <: Canopy.CanopyModel{FT},
} <: AbstractLandModel{FT}
    soil::SM
    canopy::VM
end

A concrete type of land model used for simulating systems with a canopy and a soil hydrology component.

This is primarily for testing purposes.

  • soil: The soil model to be used

  • canopy: The canopy model to be used

source
ClimaLSM.LandSoilBiogeochemistryType
struct LandSoilBiogeochemistry{
    FT,
    SEH <: Soil.EnergyHydrology{FT},
    SB <: Soil.Biogeochemistry.SoilCO2Model{FT},
} <: AbstractLandModel{FT}

A concrete type of land model used for simulating systems with a soil energy, hydrology, and biogeochemistry component.

  • soil: The soil model

  • soilco2: The biochemistry model

source
ClimaLSM.LandHydrologyType
struct LandHydrology{
    FT,
    SM <: Soil.AbstractSoilModel{FT},
    SW <: Pond.AbstractSurfaceWaterModel{FT},
} <: AbstractLandModel{FT}

A concrete type of land model used for simulating systems with a soil and surface water component.

  • soil: The soil model

  • surface_water: The surface water model

source
ClimaLSM.make_interactions_update_auxFunction
make_interactions_update_aux(land::AbstractLandModel) end

Makes and returns a function which updates the interaction variables, which are a type of auxiliary variable.

The update_aux! function returned is evaluted during the right hand side evaluation.

This is a stub which concrete types of LSMs extend.

source
make_interactions_update_aux(
    land::SoilPlantHydrologyModel{FT, SM, RM},
) where {FT, SM <: Soil.RichardsModel{FT}, RM <: Canopy.CanopyModel{FT}}

A method which makes a function; the returned function updates the auxiliary variable p.root_extraction, which is needed for the soil model and for the canopy model.

This function is called each ode function evaluation.

Root extraction is in units of 1/s and is equivalent to: RAI * flux per cross section of roots * root distribution (z).

source
function make_interactions_update_aux(
    land::LandHydrology{FT, SM, SW},
) where {FT, SM <: Soil.RichardsModel{FT}, SW <: Pond.PondModel{FT}}

A method which makes a function; the returned function updates the auxiliary variable p.soil_infiltration, which is needed for both the boundary condition for the soil model and the source term (runoff) for the surface water model.

This function is called each ode function evaluation.

source
make_interactions_update_aux(
    land::SoilCanopyModel{FT, SM, RM},
) where {FT, SM <: Soil.RichardsModel{FT}, RM <: Canopy.CanopyModel{FT}}

A method which makes a function; the returned function updates the auxiliary variable p.root_extraction, which is needed for a sink term for the soil model and to create the lower water boundary condition for the canopy model. It also updates the soil surface fluxes, which are affected by the presence of a canopy.

This function is called each ode function evaluation.

source
ClimaLSM.initialize_interactionsFunction
initialize_interactions(land::AbstractLandModel) end

Initializes interaction variables, which are a type of auxiliary variable, to empty objects of the correct type for the model.

Interaction variables are specified by interaction_vars, their types by interaction_types, and their spaces by interaction_spaces. This function should be called during initialize_auxiliary step.

source
ClimaLSM.land_componentsFunction
land_components(land::AbstractLandModel)

Returns the component names of the land model, by calling propertynames(land).

source
ClimaLSM.interaction_varsFunction

interaction_vars(m::AbstractLandModel)

Returns the interaction variable symbols for the model in the form of a tuple.

source
interaction_vars(m::SoilCanopyModel)

The names of the additional auxiliary variables that are included in the integrated Soil-Canopy model.

source
ClimaLSM.interaction_typesFunction

interaction_types(m::AbstractLandModel)

Returns the shared interaction variable types for the model in the form of a tuple.

source
interaction_types(m::SoilCanopyModel)

The types of the additional auxiliary variables that are included in the integrated Soil-Canopy model.

source
ClimaLSM.interaction_domain_namesFunction

interactiondomainnames(m::AbstractLandModel)

Returns the interaction domain symbols in the form of a tuple e.g. :surface or :subsurface.

This is only required for variables shared between land submodels, and only needed for multi-component models, not standalone components. Component-specific variables should be listed as prognostic or auxiliary variables which do not require this to initialize.

source
interaction_domain_names(m::SoilCanopyModel)

The domain names of the additional auxiliary variables that are included in the integrated Soil-Canopy model.

source
ClimaLSM.domain_nameFunction
domain_name(model::AbstractModel)

Returns a symbol indicating the model's domain name, e.g. :surface or :subsurface. Only required for models that will be used as part of an LSM.

source

Land Hydrology

ClimaLSM.infiltration_capacityFunction
function infiltration_capacity(
    Y::ClimaCore.Fields.FieldVector,
    p::NamedTuple,
)

Function which computes the infiltration capacity of the soil based on soil characteristics, moisture levels, and pond height.

Defined such that positive means into soil.

source
ClimaLSM.infiltration_at_pointFunction
infiltration_at_point(η::FT, i_c::FT, P::FT)

Returns the infiltration given pond height η, infiltration capacity, and precipitation.

This is defined such that positive means into soil.

source
ClimaLSM.PrognosticRunoffType
PrognosticRunoff{FT} <: Pond.AbstractSurfaceRunoff{FT}

Concrete type of Pond.AbstractSurfaceRunoff for use in LSM models, where precipitation is passed in, but infiltration is computed prognostically.

This is paired with Soil.RunoffBC: both are used at the same time, ensuring the infiltration used for the boundary condition of soil is also used to compute the runoff for the surface water.

source
ClimaLSM.RunoffBCType
RunoffBC <: Soil.AbstractSoilBC

Concrete type of Soil.AbstractSoilBC for use in LSM models, where precipitation is passed in, but infiltration is computed prognostically. This infiltration is then used to set an upper boundary condition for the soil.

This is paired with Pond.PrognosticRunoff: both are used at the same time, ensuring that the infiltration used for the boundary condition of soil is also used to compute the runoff for the surface water.

source

SoilPlantHydrologyModel

Missing docstring.

Missing docstring for ClimaLSM.PrognosticSoilPressure. Check Documenter's build log for details.

ClimaLSM.RootExtractionType
RootExtraction{FT} <: Soil.AbstractSoilSource{FT}

Concrete type of Soil.AbstractSoilSource, used for dispatch in an LSM with both soil and plant hydraulic components.

This is paired with the source term Canopy.PlantHydraulics.PrognosticSoilPressure:both are used at the same time, ensuring that the water flux into the roots is extracted correctly from the soil.

source

LandSoilBiogeochemistry

Missing docstring.

Missing docstring for ClimaLSM.PrognosticMet. Check Documenter's build log for details.