Abstracts

Contents

Abstracts#

The following is a list of abstract classes that are used to define the interface for all models.

class abcmodel.abstracts.AbstractState(*args: Any, **kwds: Any)[source]#

Bases: Pytree

Abstract state class to define the interface for all states.

class abcmodel.abstracts.AbstractRadiationState(*args: Any, **kwds: Any)[source]#

Bases: AbstractState

Abstract rad state.

net_rad: Array#

Net surface rad [W m-2].

in_srad: Array#

Incoming solar rad [W m-2].

out_srad: Array#

Outgoing solar rad [W m-2].

in_lrad: Array#

Incoming longwave rad [W m-2].

out_lrad: Array#

Outgoing longwave rad [W m-2].

class abcmodel.abstracts.AbstractLandState(*args: Any, **kwds: Any)[source]#

Bases: AbstractState

Abstract land state.

alpha: Array#

surface albedo [-], range 0 to 1.

surf_temp: Array#

Surface temperature [K].

rs: Array#

Surface resistance [s m-1].

wg: Array#

No moisture content in the root zone [m3 m-3].

wl: Array#

No water content in the canopy [m].

esat: Array#

Saturation vapor pressure [Pa].

qsat: Array#

Saturation specific humidity [kg/kg].

dqsatdT: Array#

Derivative of saturation specific humidity with respect to temperature [kg/kg/K].

e: Array#

Vapor pressure [Pa].

qsatsurf: Array#

Saturation specific humidity at surface temperature [kg/kg].

wtheta: Array#

Kinematic heat flux [K m/s].

wq: Array#

Kinematic moisture flux [kg/kg m/s].

wCO2: Array#

Kinematic CO2 flux [kg/kg m/s] or [mol m-2 s-1].

class abcmodel.abstracts.AbstractAtmosphereState(*args: Any, **kwds: Any)[source]#

Bases: AbstractState

Abstract atmos state.

abstract property theta: Array#

Potential temperature [K].

abstract property q: Array#

Specific humidity [kg/kg].

abstract property co2: Array#

CO2 concentration [ppmv].

abstract property surf_pressure: Array#

Surface pressure [Pa].

abstract property u: Array#

Zonal wind speed [m/s].

abstract property v: Array#

Meridional wind speed [m/s].

abstract property ra: Array#

Aerodynamic resistance [s/m].

abstract property thetasurf: Array#

Surface potential temperature [K].

abstract property h_abl: Array#

Boundary layer height [m].

abstract property ustar: Array#

Friction velocity [m/s].

abstract property uw: Array#

Zonal momentum flux [m²/s²].

abstract property vw: Array#

Meridional momentum flux [m²/s²].

abstract property wstar: Array#

Convective velocity scale [m/s].

abstract property thetav: Array#

Mixed-layer virtual potential temperature [K].

abstract property top_T: Array#

Temperature at top of mixed layer [K].

abstract property top_p: Array#

Pressure at top of mixed layer [Pa].

abstract property cc_mf: Array#

Cloud core mass flux [kg/kg/s].

abstract property cc_qf: Array#

Cloud core moisture flux [kg/kg/s].

abstract property wCO2M: Array#

Cloud core CO2 mass flux [mgC/m²/s].

abstract property cc_frac: Array#

Cloud core fraction [-].

abstract property wthetav: Array#

Virtual potential temperature flux at surface [K m/s].

abstract property wqe: Array#

Entrainment moisture flux [kg/kg m/s].

abstract property dq: Array#

Specific humidity jump at h [kg/kg].

abstract property dz_h: Array#

Transition layer thickness [m].

abstract property deltaCO2: Array#

CO2 jump at h [ppm].

abstract property wCO2e: Array#

Entrainment CO2 flux [mgC/m²/s].

class abcmodel.abstracts.AbstractCoupledState(*args: Any, **kwds: Any)[source]#

Bases: AbstractState, Generic[RadT, LandT, AtmosT]

Abstract coupled state, generic over rad, land and atmos types.

rad: RadT#
land: LandT#
atmos: AtmosT#
t: Array#
total_water_mass: Array#
property net_rad: Array#

Net surface rad [W m-2].

property in_srad: Array#

Incoming shortwave rad [W m-2].

class abcmodel.abstracts.AbstractModel(*args: Any, **kwargs: Any)[source]#

Bases: Module, Generic[StateT]

Abstract model class to define the interface for all models.

abstractmethod init_state(*args, **kwargs)[source]#
class abcmodel.abstracts.AbstractRadiationModel(*args: Any, **kwargs: Any)[source]#

Bases: AbstractModel, Generic[RadT]

Abstract radiation model class to define the interface for all rad models.

tstart: Array#

Start time of the model.

abstractmethod run(state, t, dt, tstart)[source]#
class abcmodel.abstracts.AbstractLandModel(*args: Any, **kwargs: Any)[source]#

Bases: AbstractModel, Generic[LandT]

Abstract land model class to define the interface for all land models.

abstractmethod run(state)[source]#
abstractmethod integrate(state, dt)[source]#
class abcmodel.abstracts.AbstractAtmosphereModel(*args: Any, **kwargs: Any)[source]#

Bases: AbstractModel, Generic[AtmosT]

Abstract atmos model class to define the interface for all atmos models.

abstractmethod warmup(radmodel, landmodel, state, t, dt, tstart)[source]#
abstractmethod run(state)[source]#
abstractmethod statistics(state, t)[source]#
abstractmethod integrate(state, dt)[source]#