# Hydrology

`CryoGrid.Hydrology.BucketScheme`

— Type`BucketScheme <: WaterFlow`

"Bucket" water scheme for downward advective flow due to gravity.

`CryoGrid.Hydrology.DampedET`

— Type`DampedET{Tftr,Tfev,Tdtr,Tdev}`

Corresponds to evapotranspiration scheme 2 described in section 2.2.4 of Westermann et al. (2022).

`CryoGrid.Hydrology.Evapotranspiration`

— Type`Evapotranspiration`

Base type for parameterizations of evapotranspiration (ET).

`CryoGrid.Hydrology.HydraulicProperties`

— Type`HydraulicProperties`

Default material hydraulic properties.

`CryoGrid.Hydrology.NoFlow`

— Type`NoFlow <: WaterFlow`

Represents a zero flow scheme

`CryoGrid.Hydrology.WaterBalance`

— Type`WaterBalance{TFlow<:WaterFlow,TET<:Union{Nothing,Evapotranspiration},Tdt,Taux,TProp} <: CryoGrid.SubSurfaceProcess`

Represents subsurface water transport processes.

`CryoGrid.Hydrology.WaterBalanceProperties`

— Type`WaterBalanceProperties`

Numerical constants shared across water balance implementations.

`CryoGrid.Hydrology.WaterFlow`

— Type`WaterFlow`

Base type for different formulations of water flow in `WaterBalance`

.

`CryoGrid.Hydrology.WaterTableInitializer`

— Type`WaterTableInitializer <: VarInitializer{:sat}`

Simple, piecewise constant initializer for saturation state that takes a surface-level saturation `sat0`

and water table depth `z_tab`

and produces a two-segment, piecewise constant profile with the saturation level set to `(sat0 + 1.0) / 2`

from the halfway point down to the water table.

`CryoGrid.Hydrology.hydraulicconductivity!`

— Method`hydraulicconductivity!(sub::SubSurface, water::WaterBalance, state)`

Computes hydraulic conductivities for the given subsurface layer and water balance scheme.

`CryoGrid.Hydrology.hydraulicproperties`

— Method`hydraulicproperties(::SubSurface)`

Retrieves the hydraulic properties from the given subsurface layer.

`CryoGrid.Hydrology.maxwater`

— Method```
maxwater(sub::SubSurface, ::WaterBalance)
maxwater(sub::SubSurface, water::WaterBalance, state)
maxwater(::SubSurface, ::WaterBalance, state, i)
```

Returns the maximum volumetric water content (saturation point) for grid cell `i`

.

`CryoGrid.Hydrology.minwater`

— Method```
minwater(::SubSurface, water::WaterBalance)
minwater(::SubSurface, water::WaterBalance, state, i)
```

Returns the minimum volumetric water content (typically field capacity for simplified schemes) for grid cell `i`

. Defaults to zero.

`CryoGrid.Hydrology.watercontent!`

— Method`watercontent!(::SubSurface, ::WaterBalance, state)`

Computes the volumetric water content from current saturation or pressure state.

`CryoGrid.Hydrology.watercontent`

— Method```
watercontent(::SubSurface, state)
watercontent(::SubSurface, state, i)
```

Returns the total water content `θwi`

from the given subsurface layer and/or current state.

`CryoGrid.Hydrology.waterdensity`

— Method`waterdensity(sub::SubSurface)`

Retrieves the density of water `ρw`

from the given `SubSurface`

layer. Default implementation assumes that `WaterBalance`

is provided as a field `water`

on `sub`

; this can of course, however, be overridden.