Boundary conditions for the soil model
In general, you must supply two boundary conditions for each PDE being solved. These are passed to the model as a NamedTuple of the form (; top = top_bc, bottom = bottom_bc)
, where both top_bc
and bottom_bc
are of type ClimaLand.AbstractBC
.
Flux boundary conditions are always passed as the (scalar) z-component of the flux f
, i.e. F⃗ = f ẑ.
Boundary conditions for Richards equation
FreeDrainage <: AbstractWaterBC
: this only can be used at the bottom of the domain.WaterFluxBC <: AbstractWaterBC
: this accepts a prescribed analytic function of the cachep
and simulation timet
which returns the flux value. e.g:WaterFluxBC((p,t) -> 0.0)
.MoistureStateBC <: AbstractWaterBC
: this accepts a prescribed analytic function of the cachep
and simulation timet
which returns the value ofϑ_l
at the boundary . e.g:MoistureStateBC((p,t) -> 0.2)
.RichardsAtmosDrivenFluxBC <: AbstractWaterBC
: this requires a single argument of abstract typeAbstractTimeVaryingInput
. Under the hood, this specifies the precipitation as a function of space and time (using data read in from a file, or an analytic function) and applies this a flux BC, optionally accounting for surface/subsurface runoff.
Boundary conditions for the soil heat equation
HeatFluxBC <: AbstractHeatBC
: this accepts a prescribed analytic function of the cachep
and simulation timet
which returns the flux value. e.g:HeatFluxBC((p,t) -> 0.0)
.TemperatureStateBC <: AbstractHeatBC
: this accepts a prescribed analytic function of the cachep
and simulation timet
which returns the value ofT
at the boundary . e.g:TemperatureStateBC((p,t) -> 273.15)
.
Boundary conditions for the soil heat + water equations (EnergyHydrology model)
The full soil model requires boundary conditions for both Richards equation and the soil heat equation.
WaterHeatBC <: AbstractEnergyHydrologyBC
: In many cases, the two boundary conditions can be treated independently. TheWaterHeatBC
requires a boundary condition of abstract typeAbstractWaterBC
and one of typeAbstractHeatBC
, for example,top = WaterHeatBC(; water = MoistureBC(ϑ_l(p,t)), heat = TemperatureBC(T(p,t)))
.AtmosDrivenFluxBC <: AbstractEnergyHydrologyBC
: This is an example of a set of boundary conditions for the full soil model which cannot be decomposed into two independent boundary conditions for water and heat. In this case, we compute the turbulent surface fluxes with the atmosphere, obtaining a sensible heat, latent heat, and water vapor flux. We also take into account the net radiation at the surface and any precipitation or runoff. This is the BC type used in most land simulations.
This page was generated using Literate.jl.