SurfaceFlow
SurfaceFlow types and functions
ClimateMachine.Land.SurfaceFlow.OverlandFlowModel — TypeOverlandFlowModel{Sx,Sy,M} <: BalanceLawThe 2D overland flow model, with a prognostic variable equal to the height of the surface water.
This model simulates the depth-averaged shallow water equation under the kinematic approximation, and employs Manning's relationship to relate velocity to the height of the water.
Fields
slope_xSlope in x direction; field(x,y), unitless
slope_ySlope in y direction; field(x,y), unitless
manningsMannings coefficient; field(x,y), units of s/m^(1/3)
ClimateMachine.Land.SurfaceFlow.NoSurfaceFlowModel — TypeNoSurfaceFlowModel <: BalanceLawThe default surface flow model, which does not add any prognostic variables to the land model and therefore does not model surface flow.
ClimateMachine.Land.SurfaceFlow.surface_boundary_flux! — Functionsurface_boundary_flux!(
nf,
bc::Land.Dirichlet,
model::OverlandFlowModel,
land::LandModel,
_...,
)The surface boundary flux function for the OverlandFlow model, which does nothing if Dirichlet conditions are chosen in order to not overconstrain the solution.
ClimateMachine.Land.SurfaceFlow.surface_boundary_state! — Functionsurface_boundary_state!(
nf,
bc::Land.Dirichlet,
model::OverlandFlowModel,
land::LandModel,
state⁺::Vars,
aux⁺::Vars,
nM,
state⁻::Vars,
aux⁻::Vars,
t,
_...,
)The surface boundary state function for the OverlandFlow model when Dirichlet conditions are chosen. This should be equivalent to outflow boundary conditions, also referred to as gradient outlet conditions.
ClimateMachine.Land.SurfaceFlow.calculate_velocity — Functioncalculate_velocity(surface, x::Real, y::Real, h::Real)Given the surface flow model, calculate the velocity of the flow based on height, slope, and Manning's coefficient.
ClimateMachine.Land.SurfaceFlow.Precip — TypePrecip <: TendencyDef{Source}A source term for overland flow where a prescribed net precipitation drives the overland flow.
ClimateMachine.Land.SurfaceFlow.VolumeAdvection — TypeVolumeAdvection <: TendencyDef{Flux{FirstOrder}}A first order flux type for the overland flow model.
ClimateMachine.Land.SurfaceFlow.SurfaceWaterHeight — TypeSurfaceWaterHeight <: AbstractPrognosticVariableThe prognostic variable type for the 2d overland flow model. Used only for dispatching on.