Simple#

class abcmodel.atmos.surface_layer.simple.SimpleState(ustar, uw=<factory>, vw=<factory>, ra=<factory>)[source]#

Bases: AbstractSurfaceLayerState

Minimal surface layer model initial state.

ustar: Array#

Surface friction velocity [m/s].

uw: Array#

Zonal surface momentum flux [m2 s-2].

vw: Array#

Meridional surface momentum flux [m2 s-2].

ra: Array#

Aerodynamic resistance [s/m].

class abcmodel.atmos.surface_layer.simple.SimpleModel(*args: Any, **kwargs: Any)[source]#

Bases: AbstractSurfaceLayerModel[SimpleState]

Simple surface layer model with constant friction velocity.

init_state(ustar)[source]#

Initialize the model state.

Parameters:

ustar (float) – Friction velocity [m/s].

Returns:

The initial surface layer state.

run(state)[source]#

Run the model.

Parameters:

state (AbstractCoupledState[TypeVar(RadT, bound= AbstractRadiationState), TypeVar(LandT, bound= AbstractLandState), DayOnlyAtmosphereState[SimpleState, TypeVar(MixedT, bound= AbstractMixedLayerState), TypeVar(CloudT, bound= AbstractCloudState)]])

Returns:

The updated surface layer state.

abcmodel.atmos.surface_layer.simple.compute_uw(u, v, ustar)[source]#

Calculate the zonal momentum flux from wind components and friction velocity.

abcmodel.atmos.surface_layer.simple.compute_vw(u, v, ustar)[source]#

Calculate the meridional momentum flux from wind components and friction velocity.

abcmodel.atmos.surface_layer.simple.compute_ra(u, v, wstar, ustar)[source]#

Calculate aerodynamic resistance from wind speed and friction velocity.