Land Model

Land Model

ClimateMachine.Land.LandModelType
LandModel{PS, S, SRC, IS} <: BalanceLaw

A BalanceLaw for land modeling. Users may over-ride prescribed default values for each field.

Usage

LandModel(
    param_set,
    soil,
    source
    init_state_prognostic
)

Fields

  • param_set

    Parameter set

  • soil

    Soil model

  • source

    Source Terms (Problem specific source terms)

  • init_state_prognostic

    Initial Condition (Function to assign initial values of state variables)

source

Soil

ClimateMachine.Land.SoilModelType
SoilModel{PF, W, H} <: BalanceLaw

A BalanceLaw for soil modeling. Users may over-ride prescribed default values for each field.

Usage

SoilModel(
    param_functions,
    water,
    heat,
)

Fields

  • param_functions

    Soil Parameter Functions

  • water

    Water model

  • heat

    Heat model

source
ClimateMachine.Land.SoilWaterModelType
SoilWaterModel{FT, IF, VF, MF, HM, Fiϑl, Fiθi, BCD, BCN} <: AbstractWaterModel

The necessary components for solving the equations for water (liquid or ice) in soil.

Without freeze/thaw source terms added (separately), this model reduces to Richard's equation for liquid water. Note that the default for θ_i is zero. Without freeze/thaw source terms added to both the liquid and ice equations, the default should never be changed, because we do not enforce that the total volumetric water fraction is less than or equal to porosity otherwise.

When freeze/thaw source terms are included, this model encompasses water in both liquid and ice form, and water content is conserved upon phase change.

Fields

  • impedance_factor

    Impedance Factor - will be 1 or ice dependent

  • viscosity_factor

    Viscosity Factor - will be 1 or temperature dependent

  • moisture_factor

    Moisture Factor - will be 1 or moisture dependent

  • hydraulics

    Hydraulics Model - used in matric potential and moisture factor of hydraulic conductivity

  • initialϑ_l

    Initial condition: augmented liquid fraction

  • initialθ_i

    Initial condition: volumetric ice fraction

  • dirichlet_bc

    Dirichlet boundary condition structure

  • neumann_bc

    Neumann boundary condition structure

source
ClimateMachine.Land.PrescribedWaterModelType
PrescribedWaterModel{F1, F2} <: AbstractWaterModel

Model structure for a prescribed water content model.

The user supplies functions of space and time for both ϑ_l and θ_i. No auxiliary or state variables are added, no PDE is solved. The defaults are no moisture anywhere, for all time.

Fields

  • ϑ_l

    Augmented liquid fraction

  • θ_i

    Volumetric fraction of ice

source
ClimateMachine.Land.SoilHeatModelType
SoilHeatModel{FT, FiT, BCD, BCN} <: AbstractHeatModel

The necessary components for the Heat Equation in a soil water matrix.

Fields

  • initialT

    Initial conditions for temperature

  • dirichlet_bc

    Dirichlet BC structure

  • neumann_bc

    Neumann BC structure

source
ClimateMachine.Land.SoilWaterParameterizationsModule
SoilWaterParameterizations

van Genuchten, Brooks and Corey, and Haverkamp parameters for and formulation of

  • hydraulic conductivity
  • matric potential

Hydraulic conductivity can be chosen to be dependent or independent of impedance, viscosity and moisture.

Functions for hydraulic head, effective saturation, pressure head, matric potential, and the relationship between augmented liquid fraction and liquid fraction are also included.

source
ClimateMachine.Land.SoilHeatParameterizationsModule
SoilHeatParameterizations

Functions for volumetric heat capacity, temperature as a function of volumetric internal energy, saturated thermal conductivity, thermal conductivity, relative saturation and the Kersten number are included. Heat capacities denoted by ρc_ are volumetric, while cp_ denotes an isobaric specific heat capacity.

source
ClimateMachine.Land.SoilParamFunctionsType
SoilParamFunctions{FT} <: AbstractSoilParameterFunctions{FT}

Necessary parameters for the soil model. These will eventually be prescribed functions of space (and time).

Fields

  • porosity

    Aggregate porosity of the soil

  • Ksat

    Hydraulic conductivity at saturation. Units of m s-1.

  • S_s

    Specific storage of the soil. Units of m s-1.

  • ν_ss_gravel

    Volume fraction of gravels, relative to soil solids only. Units of m-3 m-3.

  • ν_ss_om

    Volume fraction of SOM, relative to soil solids only. Units of m-3 m-3.

  • ν_ss_quartz

    Volume fraction of quartz, relative to soil solids only. Units of m-3 m-3.

  • ρc_ds

    Bulk volumetric heat capacity of dry soil. Units of J m-3 K-1.

  • ρp

    Particle density for soil solids. Units of kg/m^3

  • κ_solid

    Thermal conductivity of the soil solids. Units of W m-1 K-1.

  • κ_sat_unfrozen

    Saturated thermal conductivity for unfrozen soil. Units of W m-1 K-1.

  • κ_sat_frozen

    Saturated thermal conductivity for frozen soil. Units of W m-1 K-1.

  • a

    Adjustable scale parameter for determining Kersten number in the Balland and Arp formulation; unitless.

  • b

    Adjustable scale parameter for determining Kersten number in the Balland and Arp formulation; unitless.

  • κ_dry_parameter

    Parameter used in the Balland and Arp formulation for κ_dry; unitless

source
ClimateMachine.Land.get_water_contentFunction
get_water_content(
    water::SoilWaterModel,
    aux::Vars,
    state::Vars,
    t::Real
)

Return the moisture variables for the balance law soil water model.

source
get_water_content(
    water::PrescribedWaterModel,
    aux::Vars,
    state::Vars,
    t::Real
)

Return the moisture variables for the prescribed soil water model.

source

Boundary Conditions

ClimateMachine.Land.DirichletType
struct Dirichlet{Fs, Fb} <: AbstractBoundaryFunctions

A concrete type to hold the surface state and bottom state variable values/functions, if Dirichlet boundary conditions are desired.

Fields

  • surface_state

    Surface state boundary condition

  • bottom_state

    Bottom state boundary condition

source
ClimateMachine.Land.NeumannType
struct Neumann{Fs, Fb} <: AbstractBoundaryFunctions

A concrete type to hold the surface and/or bottom diffusive flux values/functions, if Neumann boundary conditions are desired.

Note that these are intended to be scalar values. In the boundary_state! functions, they are multiplied by the vector (i.e. the normal vector to the domain at the upper boundary, and - at the lower boundary. These normal vectors point out of the domain.)

Fields

  • surface_flux

    Surface flux boundary condition

  • bottom_flux

    Bottom flux boundary condition

source