aetinterfaces

This module defines submodel interfaces for calculating actual evapotranspiration.

Module aetinterfaces implements the following members:

  • AETModel_V1 Interface for calculating interception evaporation, evapotranspiration from soils, evaporation from water areas in separate steps.


class hydpy.interfaces.aetinterfaces.AETModel_V1[source]

Bases: SubmodelInterface

Interface for calculating interception evaporation, evapotranspiration from soils, evaporation from water areas in separate steps.

An essential note for model developers: All main models using the AETModel_V1 interface must first call determine_interceptionevaporation() but are free to choose the execution order of methods determine_soilevapotranspiration() and determine_waterevaporation(). All submodels following the AETModel_V1 interface must work for both orders. Additionally, the main model must calculate its snow routine (if it has one) before calling any method defined by the AETModel_V1 interface.

typeid: ClassVar[Literal[1]] = 1

Type identifier for AETModel_V1 submodels.

prepare_nmbzones(nmbzones: int) None[source]

Set the number of zones in which the actual calculations take place.

prepare_subareas(subareas: Sequence[float]) None[source]

Set the areas of the individual zones in km².

prepare_elevations(elevations: Sequence[float]) None[source]

Set the elevations of the individual zones in m.

prepare_zonetypes(zonetypes: Sequence[int]) None[source]

Set the types (usually land cover types) of the individual zones.

prepare_water(water: Sequence[bool] | ndarray[Any, dtype[bool]]) None[source]

Set the flags for whether the individual zones are water areas or not.

prepare_interception(interception: Sequence[bool] | ndarray[Any, dtype[bool]]) None[source]

Set the flags for whether interception evaporation is relevant for the individual zones.

prepare_soil(soil: Sequence[bool] | ndarray[Any, dtype[bool]]) None[source]

Set the flags for whether soil evapotranspiration is relevant for the individual zones.

prepare_plant(tree: Sequence[bool] | ndarray[Any, dtype[bool]]) None[source]

Set the flags for whether the individual zones contain any vegetation.

prepare_tree(tree: Sequence[bool] | ndarray[Any, dtype[bool]]) None[source]

Set the flags for whether the individual zones contain tree-like vegetation.

prepare_conifer(conifer: Sequence[bool] | ndarray[Any, dtype[bool]]) None[source]

Set the flags for whether the individual zones contain conifer-like vegetation.

prepare_measuringheightwindspeed(measuringheightwindspeed: float) None[source]

Set the height above the ground of the wind speed measurements in m.

prepare_leafareaindex(maxsoilwater: Sequence[Sequence[float] | ndarray[Any, dtype[float64]]] | ndarray[Any, dtype[float64]]) None[source]

Set the leaf area index in m²/m².

prepare_maxsoilwater(maxsoilwater: Sequence[float] | ndarray[Any, dtype[float64]]) None[source]

Set the maximum soil water content in mm.

determine_interceptionevaporation() None[source]

Determine the actual interception evaporation.

determine_soilevapotranspiration() None[source]

Determine the actual evapotranspiration from the soil.

determine_waterevaporation() None[source]

Determine the actual evapotranspiration from open water areas.

get_interceptionevaporation(k: int) float[source]

Get the selected zone’s previously calculated interception evaporation in mm/T.

get_soilevapotranspiration(k: int) float[source]

Get the selected zone’s previously calculated soil evapotranspiration in mm/T.

get_waterevaporation(k: int) float[source]

Get the selected zone’s previously calculated water area evaporation in mm/T.