petinterfaces

This module defines submodel interfaces for calculating potential evapotranspiration.

Module petinterfaces implements the following members:

  • PETModel_V1 Simple interface for calculating all potential evapotranspiration values in one step.

  • PETModel_V2 Interface for calculating separate potential interception, soil, and water evapotranspiration values.


class hydpy.interfaces.petinterfaces.PETModel_V1[source]

Bases: SubmodelInterface

Simple interface for calculating all potential evapotranspiration values in one step.

typeid: ClassVar[Literal[1]] = 1

Type identifier for PETModel_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_zonetypes(zonetypes: Sequence[int]) None[source]

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

prepare_measuringheightwindspeed(measuringheightwindspeed: float) None[source]

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

determine_potentialevapotranspiration() None[source]

Calculate potential evapotranspiration.

get_potentialevapotranspiration(k: int) float[source]

Get the previously calculated potential evapotranspiration of the selected zone in mm/T.

get_meanpotentialevapotranspiration() float[source]

Get the previously calculated average potential evapotranspiration in mm/T.

class hydpy.interfaces.petinterfaces.PETModel_V2[source]

Bases: SubmodelInterface

Interface for calculating separate potential interception, soil, and water evapotranspiration values.

An essential note for model developers: All main models using the PETModel_V2 interface must first call determine_potentialinterceptionevaporation() but are free to choose the execution order of methods determine_potentialsoilevapotranspiration() and determine_potentialwaterevaporation(). All submodels following the PETModel_V2 interface must work for both orders.

typeid: ClassVar[Literal[2]] = 2

Type identifier for PETModel_V2 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_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_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².

determine_potentialinterceptionevaporation() None[source]

Calculate potential interception evaporation.

get_potentialinterceptionevaporation(k: int) float[source]

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

determine_potentialsoilevapotranspiration() None[source]

Calculate potential evapotranspiration from the soil.

get_potentialsoilevapotranspiration(k: int) float[source]

Get the previously calculated potential evapotranspiration from the soil of the selected zone in mm/T.

determine_potentialwaterevaporation() None[source]

Calculate potential evaporation from open water areas.

get_potentialwaterevaporation(k: int) float[source]

Get the previously calculated potential evaporation from open water areas of the selected zone in mm/T.