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.
- 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 calldetermine_potentialinterceptionevaporation()
but are free to choose the execution order of methodsdetermine_potentialsoilevapotranspiration()
anddetermine_potentialwaterevaporation()
. All submodels following thePETModel_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.