evap¶
The HydPy-Evap model family supplies methods for calculating potential evapotranspiration.
Method Features¶
- class hydpy.models.evap.evap_model.Model[source]¶
Bases:
AdHocModel
The Evap base model.
- The following “run methods” are called in the given sequence during each simulation step:
Calc_AdjustedWindSpeed_V1
Adjust the measured wind speed to a height of two meters above the ground according to Allen et al. (1998).Calc_SaturationVapourPressure_V1
Calculate the saturation vapour pressure according to Allen et al. (1998).Calc_SaturationVapourPressureSlope_V1
Calculate the slope of the saturation vapour pressure curve according to Allen et al. (1998).Calc_ActualVapourPressure_V1
Calculate the actual vapour pressure according to Allen et al. (1998).Update_LoggedClearSkySolarRadiation_V1
Log the clear sky solar radiation values of the last 24 hours.Update_LoggedGlobalRadiation_V1
Log the global radiation values of the last 24 hours.Calc_NetShortwaveRadiation_V1
Calculate the net shortwave radiation for the hypothetical grass reference crop according to Allen et al. (1998).Calc_NetLongwaveRadiation_V1
Calculate the net longwave radiation according to Allen et al. (1998).Calc_NetRadiation_V1
Calculate the total net radiation according to Allen et al. (1998).Calc_SoilHeatFlux_V1
Calculate the soil heat flux according to Allen et al. (1998).Calc_PsychrometricConstant_V1
Calculate the psychrometric constant according to Allen et al. (1998).Calc_ReferenceEvapotranspiration_V1
Calculate the reference evapotranspiration constant according to Allen et al. (1998).
- class hydpy.models.evap.evap_model.Calc_AdjustedWindSpeed_V1[source]¶
Bases:
Method
Adjust the measured wind speed to a height of two meters above the ground according to Allen et al. (1998).
- Requires the control parameter:
- Requires the input sequence:
- Calculates the factor sequence:
Basic equation (Allen et al. (1998), equation 47, modified for higher precision):
\[AdjustedWindSpeed = WindSpeed \cdot \frac{ln((2-d)/z_0)}{ln((MeasuringHeightWindSpeed-d)/z_0)}`\]\(d = 2 / 3 \cdot 0.12\)
\(z_0 = 0.123 \cdot 0.12\)
Example:
>>> from hydpy.models.evap import * >>> parameterstep() >>> measuringheightwindspeed(10.0) >>> inputs.windspeed = 5.0 >>> model.calc_adjustedwindspeed_v1() >>> factors.adjustedwindspeed adjustedwindspeed(3.738763)
- class hydpy.models.evap.evap_model.Calc_SaturationVapourPressure_V1[source]¶
Bases:
Method
Calculate the saturation vapour pressure according to Allen et al. (1998).
- Requires the input sequence:
- Calculates the factor sequence:
- Basic equation (Allen et al. (1998), equation 11):
\(SaturationVapourPressure = 6.108 \cdot \exp \left( \frac{17.27 \cdot AirTemperature}{AirTemperature + 237.3} \right)\)
Example:
>>> from hydpy.models.evap import * >>> parameterstep() >>> inputs.airtemperature = 10.0 >>> model.calc_saturationvapourpressure_v1() >>> factors.saturationvapourpressure saturationvapourpressure(12.279626)
- class hydpy.models.evap.evap_model.Calc_SaturationVapourPressureSlope_V1[source]¶
Bases:
Method
Calculate the slope of the saturation vapour pressure curve according to Allen et al. (1998).
- Requires the input sequence:
- Requires the factor sequence:
- Calculates the factor sequence:
- Basic equation (Allen et al. (1998), equation 13):
\(SaturationVapourPressureSlope = 4098 \cdot \frac{SaturationVapourPressure}{(AirTemperature + 237.3)^2}\)
Example:
>>> from hydpy.models.evap import * >>> parameterstep() >>> inputs.airtemperature = 10.0 >>> factors.saturationvapourpressure = 12.279626 >>> model.calc_saturationvapourpressureslope_v1() >>> factors.saturationvapourpressureslope saturationvapourpressureslope(0.822828)
- class hydpy.models.evap.evap_model.Calc_ActualVapourPressure_V1[source]¶
Bases:
Method
Calculate the actual vapour pressure according to Allen et al. (1998).
- Requires the input sequence:
- Requires the factor sequence:
- Calculates the factor sequence:
- Basic equation (Allen et al. (1998), equation 19, modified):
\(ActualVapourPressure = SaturationVapourPressure \cdot RelativeHumidity / 100\)
Example:
>>> from hydpy.models.evap import * >>> parameterstep() >>> inputs.relativehumidity = 60.0 >>> factors.saturationvapourpressure = 30.0 >>> model.calc_actualvapourpressure_v1() >>> factors.actualvapourpressure actualvapourpressure(18.0)
- class hydpy.models.evap.evap_model.Update_LoggedClearSkySolarRadiation_V1[source]¶
Bases:
Method
Log the clear sky solar radiation values of the last 24 hours.
- Requires the derived parameter:
- Requires the input sequence:
- Updates the log sequence:
Example:
The following example shows that each new method call successively moves the three memorized values to the right and stores the respective new value on the most left position:
>>> from hydpy.models.evap import * >>> parameterstep() >>> derived.nmblogentries(3) >>> logs.loggedclearskysolarradiation.shape = 3 >>> logs.loggedclearskysolarradiation = 0.0 >>> from hydpy import UnitTest >>> test = UnitTest(model, ... model.update_loggedclearskysolarradiation_v1, ... last_example=4, ... parseqs=(inputs.clearskysolarradiation, ... logs.loggedclearskysolarradiation)) >>> test.nexts.clearskysolarradiation = 1.0, 3.0, 2.0, 4.0 >>> del test.inits.loggedclearskysolarradiation >>> test() | ex. | clearskysolarradiation | loggedclearskysolarradiation | ------------------------------------------------------------------------- | 1 | 1.0 | 1.0 0.0 0.0 | | 2 | 3.0 | 3.0 1.0 0.0 | | 3 | 2.0 | 2.0 3.0 1.0 | | 4 | 4.0 | 4.0 2.0 3.0 |
- class hydpy.models.evap.evap_model.Update_LoggedGlobalRadiation_V1[source]¶
Bases:
Method
Log the global radiation values of the last 24 hours.
- Requires the derived parameter:
- Requires the input sequence:
- Updates the log sequence:
Example:
The following example shows that each new method call successively moves the three memorized values to the right and stores the respective new value on the most left position:
>>> from hydpy.models.evap import * >>> parameterstep() >>> derived.nmblogentries(3) >>> logs.loggedglobalradiation.shape = 3 >>> logs.loggedglobalradiation = 0.0 >>> from hydpy import UnitTest >>> test = UnitTest(model, ... model.update_loggedglobalradiation_v1, ... last_example=4, ... parseqs=(inputs.globalradiation, ... logs.loggedglobalradiation)) >>> test.nexts.globalradiation = 1.0, 3.0, 2.0, 4.0 >>> del test.inits.loggedglobalradiation >>> test() | ex. | globalradiation | loggedglobalradiation | ----------------------------------------------------------- | 1 | 1.0 | 1.0 0.0 0.0 | | 2 | 3.0 | 3.0 1.0 0.0 | | 3 | 2.0 | 2.0 3.0 1.0 | | 4 | 4.0 | 4.0 2.0 3.0 |
- class hydpy.models.evap.evap_model.Calc_NetShortwaveRadiation_V1[source]¶
Bases:
Method
Calculate the net shortwave radiation for the hypothetical grass reference crop according to Allen et al. (1998).
- Requires the input sequence:
- Calculates the flux sequence:
- Basic equation (Allen et al. (1998), equation 38):
\(NetShortwaveRadiation = (1.0 - 0.23) \cdot GlobalRadiation\)
Example:
>>> from hydpy.models.evap import * >>> parameterstep() >>> inputs.globalradiation = 200.0 >>> model.calc_netshortwaveradiation_v1() >>> fluxes.netshortwaveradiation netshortwaveradiation(154.0)
- class hydpy.models.evap.evap_model.Calc_NetLongwaveRadiation_V1[source]¶
Bases:
Method
Calculate the net longwave radiation according to Allen et al. (1998).
- Requires the derived parameter:
- Requires the input sequences:
- Requires the factor sequence:
- Requires the log sequences:
- Calculates the flux sequence:
- Basic equations (Allen et al. (1998), equation 39, modified):
\(NetLongwaveRadiation = \sigma \cdot (AirTemperature + 273.16)^4 \cdot \left( 0.34 - 0.14 \sqrt{ActualVapourPressure / 10} \right) \cdot (1.35 \cdot GR / CSSR - 0.35)\)
\[\begin{split}GR = \begin{cases} GlobalRadiation &|\ ClearSkySolarRadiation > 0 \\ \sum{LoggedGlobalRadiation} &|\ ClearSkySolarRadiation = 0 \end{cases}\end{split}\]\[\begin{split}CSSR = \begin{cases} ClearSkySolarRadiation &|\ ClearSkySolarRadiation > 0 \\ \sum{LoggedClearSkySolarRadiation} &|\ ClearSkySolarRadiation = 0 \end{cases}\end{split}\]\(\sigma = 5.6747685185185184 \cdot 10^{-8}\)
Note that when clear sky radiation is zero during night periods, we use the global radiation and clear sky radiation sums of the last 24 hours. The averaging over three hours before sunset suggested by Allen et al. (1998) could be more precise but is a more complicated and error-prone approach.
Example:
The following calculation agrees with example 11 of Allen et al. (1998):
>>> from hydpy.models.evap import * >>> parameterstep() >>> derived.nmblogentries(1) >>> inputs.airtemperature = 22.1 >>> inputs.globalradiation = 167.824074 >>> inputs.clearskysolarradiation = 217.592593 >>> factors.actualvapourpressure = 21.0 >>> model.calc_netlongwaveradiation_v1() >>> fluxes.netlongwaveradiation netlongwaveradiation(40.87786)
>>> inputs.clearskysolarradiation = 0.0 >>> logs.loggedclearskysolarradiation.shape = 1 >>> logs.loggedclearskysolarradiation = 138.888889 >>> logs.loggedglobalradiation.shape = 1 >>> logs.loggedglobalradiation = 115.740741 >>> model.calc_netlongwaveradiation_v1() >>> fluxes.netlongwaveradiation netlongwaveradiation(45.832275)
- class hydpy.models.evap.evap_model.Calc_NetRadiation_V1[source]¶
Bases:
Method
Calculate the total net radiation according to Allen et al. (1998).
- Requires the flux sequences:
- Calculates the flux sequence:
- Basic equation (Allen et al. (1998), equation 40):
\(NetRadiation = NetShortwaveRadiation - NetLongwaveRadiation\)
Example:
The following calculation agrees with example 12 of Allen et al. (1998):
>>> from hydpy.models.evap import * >>> parameterstep() >>> fluxes.netshortwaveradiation = 111.0 >>> fluxes.netlongwaveradiation = 35.0 >>> model.calc_netradiation_v1() >>> fluxes.netradiation netradiation(76.0)
- class hydpy.models.evap.evap_model.Calc_SoilHeatFlux_V1[source]¶
Bases:
Method
Calculate the soil heat flux according to Allen et al. (1998).
- Requires the derived parameter:
- Requires the flux sequence:
- Calculates the flux sequence:
- Basic equation for daily timesteps (Allen et al. (1998), equation 42):
\(SoilHeatFlux = 0\) n
- Basic equation for (sub)hourly timesteps (Allen et al. (1998), eq. 45 and 46 ):
\(SoilHeatFlux = \Bigl \lbrace { {0.1 \cdot SoilHeatFlux \ | \ NetRadiation \geq 0} \atop {0.5 \cdot SoilHeatFlux \ | \ NetRadiation < 0} }\)
Examples:
For simulation time steps shorter one day, we define all steps with positive
NetRadiation
as part of the daylight period and all steps with negativeNetRadiation
as part of the nighttime period. If the summedNetRadiation
during daytime is five times as high as the absolute summedNetRadiation
during nighttime, the totalSoilHeatFlux
is zero:>>> from hydpy.models.evap import * >>> parameterstep() >>> derived.days(1/24) >>> fluxes.netradiation = 100.0 >>> model.calc_soilheatflux_v1() >>> fluxes.soilheatflux soilheatflux(10.0) >>> fluxes.netradiation = -20.0 >>> model.calc_soilheatflux_v1() >>> fluxes.soilheatflux soilheatflux(-10.0)
For any simulation step size of at least one day, method
Calc_SoilHeatFlux_V1
sets theSoilHeatFlux
to zero, which Allen et al. (1998) suggests for daily simulation steps only:>>> derived.days(1) >>> fluxes.netradiation = 100.0 >>> model.calc_soilheatflux_v1() >>> fluxes.soilheatflux soilheatflux(0.0) >>> fluxes.netradiation = -20.0 >>> model.calc_soilheatflux_v1() >>> fluxes.soilheatflux soilheatflux(0.0)
Hence, be aware that function
Calc_SoilHeatFlux_V1
does not give the best results for intermediate (e.g. 12 hours) or larger step sizes (e.g. one month).
- class hydpy.models.evap.evap_model.Calc_PsychrometricConstant_V1[source]¶
Bases:
Method
Calculate the psychrometric constant according to Allen et al. (1998).
- Requires the input sequence:
- Calculates the factor sequence:
- Basic equation (Allen et al. (1998), equation 8):
\(PsychrometricConstant = 6.65 \cdot 10^{-4} \cdot AtmosphericPressure\)
Example:
The following calculation agrees with example 2 of Allen et al. (1998):
>>> from hydpy.models.evap import * >>> parameterstep() >>> inputs.atmosphericpressure = 818.0 >>> model.calc_psychrometricconstant_v1() >>> factors.psychrometricconstant psychrometricconstant(0.54397)
- class hydpy.models.evap.evap_model.Calc_ReferenceEvapotranspiration_V1[source]¶
Bases:
Method
Calculate the reference evapotranspiration constant according to Allen et al. (1998).
- Requires the derived parameters:
- Requires the input sequence:
- Requires the factor sequences:
SaturationVapourPressureSlope
PsychrometricConstant
AdjustedWindSpeed
SaturationVapourPressure
ActualVapourPressure
- Requires the flux sequences:
- Calculates the flux sequence:
- Basic equation (Allen et al. (1998), equation 6):
\(ReferenceEvapotranspiration = \frac{ 0.408 \cdot SaturationVapourPressureSlope \cdot (NetRadiation - SoilHeatFlux) + PsychrometricConstant \cdot \frac{37.5 \cdot Hours}{AirTemperature + 273} \cdot AdjustedWindSpeed \cdot (SaturationVapourPressure - ActualVapourPressure) } { SaturationVapourPressureSlope + PsychrometricConstant \cdot (1 + 0.34 \cdot AdjustedWindSpeed) }\)
Note that Allen et al. (1998) recommends the coefficient 37 for hourly simulations and 900 for daily simulations.
Calc_ReferenceEvapotranspiration_V1
generally uses 37.5, which gives 900 when multiplied by 24.Example:
The following calculation agrees with example 18 of Allen et al. (1998), dealing with a daily simulation step:
>>> from hydpy.models.evap import * >>> parameterstep() >>> derived.days(1) >>> derived.hours(24) >>> inputs.airtemperature = 16.9 >>> factors.psychrometricconstant = 0.666 >>> factors.adjustedwindspeed = 2.078 >>> factors.actualvapourpressure = 14.09 >>> factors.saturationvapourpressure = 19.97 >>> factors.saturationvapourpressureslope = 1.22 >>> fluxes.netradiation = 153.7037 >>> fluxes.soilheatflux = 0.0 >>> model.calc_referenceevapotranspiration_v1() >>> fluxes.referenceevapotranspiration referenceevapotranspiration(3.877117)
The following calculation agrees with example 19 of Allen et al. (1998), dealing with an hourly simulation step (note that there is a difference due to using 37.5 instead of 37 that is smaller than the precision of the results tabulated by Allen et al. (1998):
>>> derived.days(1/24) >>> derived.hours(1) >>> inputs.airtemperature = 38.0 >>> factors.psychrometricconstant = 0.673 >>> factors.adjustedwindspeed = 3.3 >>> factors.actualvapourpressure = 34.45 >>> factors.saturationvapourpressure = 66.25 >>> factors.saturationvapourpressureslope = 3.58 >>> fluxes.netradiation = 485.8333 >>> fluxes.soilheatflux = 48.6111 >>> model.calc_referenceevapotranspiration_v1() >>> fluxes.referenceevapotranspiration referenceevapotranspiration(0.629106)
Parameter Features¶
Control parameters¶
- class hydpy.models.evap.ControlParameters(master: Parameters, cls_fastaccess: Type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)
Bases:
SubParameters
Control parameters of model evap.
- The following classes are selected:
MeasuringHeightWindSpeed()
The height above ground of the wind speed measurements [m].
- class hydpy.models.evap.evap_control.MeasuringHeightWindSpeed(subvars: SubParameters)[source]¶
Bases:
Parameter
The height above ground of the wind speed measurements [m].
- Required by the method:
Derived parameters¶
- class hydpy.models.evap.DerivedParameters(master: Parameters, cls_fastaccess: Type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)
Bases:
SubParameters
Derived parameters of model evap.
- The following classes are selected:
Hours()
The length of the actual simulation step size in hours [h].Days()
The length of the actual simulation step size in days [d].NmbLogEntries()
The number of log entries required for a memory duration of 24 hours [-].
- class hydpy.models.evap.evap_derived.Hours(subvars: SubParameters)[source]¶
Bases:
HoursParameter
The length of the actual simulation step size in hours [h].
- Required by the method:
- class hydpy.models.evap.evap_derived.Days(subvars: SubParameters)[source]¶
Bases:
DaysParameter
The length of the actual simulation step size in days [d].
- Required by the methods:
- class hydpy.models.evap.evap_derived.NmbLogEntries(subvars: SubParameters)[source]¶
Bases:
Parameter
The number of log entries required for a memory duration of 24 hours [-].
- Required by the methods:
Calc_NetLongwaveRadiation_V1
Update_LoggedClearSkySolarRadiation_V1
Update_LoggedGlobalRadiation_V1
- update()[source]¶
Calculate the number of entries and adjust the shape of all relevant log sequences.
The aimed memory duration is one day. Hence, the required log entries depend on the simulation step size:
>>> from hydpy.models.evap import * >>> parameterstep() >>> from hydpy import pub >>> pub.timegrids = "2000-01-01", "2000-01-02", "1h" >>> derived.nmblogentries.update() >>> derived.nmblogentries nmblogentries(24) >>> for seq in logs: ... print(seq) loggedglobalradiation(nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan) loggedclearskysolarradiation(nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan)
There is an explicit check for inappropriate simulation step sizes:
>>> pub.timegrids = "2000-01-01 00:00", "2000-01-01 10:00", "5h" >>> derived.nmblogentries.update() Traceback (most recent call last): ... ValueError: The value of parameter `nmblogentries` of element `?` cannot be determined for a the current simulation step size. The fraction of the memory period (1d) and the simulation step size (5h) leaves a remainder.
Sequence Features¶
Input sequences¶
- class hydpy.models.evap.InputSequences(master: Sequences, cls_fastaccess: Type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)
Bases:
InputSequences
Input sequences of model evap.
- The following classes are selected:
AirTemperature()
Air temperature [°C].RelativeHumidity()
Relative humidity [%].WindSpeed()
Wind speed [m/s].AtmosphericPressure()
Atmospheric pressure [hPa].GlobalRadiation()
Global radiation [W/m²].ClearSkySolarRadiation()
Clear sky solar radiation [W/m²].
- class hydpy.models.evap.evap_inputs.AirTemperature(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequence
Air temperature [°C].
- class hydpy.models.evap.evap_inputs.RelativeHumidity(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequence
Relative humidity [%].
- Required by the method:
- class hydpy.models.evap.evap_inputs.WindSpeed(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequence
Wind speed [m/s].
- Required by the method:
- class hydpy.models.evap.evap_inputs.AtmosphericPressure(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequence
Atmospheric pressure [hPa].
- Required by the method:
- class hydpy.models.evap.evap_inputs.GlobalRadiation(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequence
Global radiation [W/m²].
- Required by the methods:
Calc_NetLongwaveRadiation_V1
Calc_NetShortwaveRadiation_V1
Update_LoggedGlobalRadiation_V1
- class hydpy.models.evap.evap_inputs.ClearSkySolarRadiation(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequence
Clear sky solar radiation [W/m²].
- Required by the methods:
Calc_NetLongwaveRadiation_V1
Update_LoggedClearSkySolarRadiation_V1
Factor sequences¶
- class hydpy.models.evap.FactorSequences(master: Sequences, cls_fastaccess: Type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)
Bases:
FactorSequences
Factor sequences of model evap.
- The following classes are selected:
AdjustedWindSpeed()
Adjusted wind speed [m/s].SaturationVapourPressure()
Saturation vapour pressure [hPa].SaturationVapourPressureSlope()
The slope of the saturation vapour pressure curve [hPa/K].ActualVapourPressure()
Actual vapour pressure [hPa].PsychrometricConstant()
Psychrometric constant [hPa/K].
- class hydpy.models.evap.evap_factors.AdjustedWindSpeed(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FactorSequence
Adjusted wind speed [m/s].
- Calculated by the method:
- Required by the method:
- class hydpy.models.evap.evap_factors.SaturationVapourPressure(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FactorSequence
Saturation vapour pressure [hPa].
- Calculated by the method:
- Required by the methods:
Calc_ActualVapourPressure_V1
Calc_ReferenceEvapotranspiration_V1
Calc_SaturationVapourPressureSlope_V1
- class hydpy.models.evap.evap_factors.SaturationVapourPressureSlope(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FactorSequence
The slope of the saturation vapour pressure curve [hPa/K].
- Calculated by the method:
- Required by the method:
- class hydpy.models.evap.evap_factors.ActualVapourPressure(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FactorSequence
Actual vapour pressure [hPa].
- Calculated by the method:
- Required by the methods:
Calc_NetLongwaveRadiation_V1
Calc_ReferenceEvapotranspiration_V1
- class hydpy.models.evap.evap_factors.PsychrometricConstant(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FactorSequence
Psychrometric constant [hPa/K].
- Calculated by the method:
- Required by the method:
Flux sequences¶
- class hydpy.models.evap.FluxSequences(master: Sequences, cls_fastaccess: Type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)
Bases:
FluxSequences
Flux sequences of model evap.
- The following classes are selected:
NetShortwaveRadiation()
Net shortwave radiation [W/m²].NetLongwaveRadiation()
Net longwave radiation [W/m²].NetRadiation()
Total net radiation [W/m²].SoilHeatFlux()
Soil heat flux [W/m²].ReferenceEvapotranspiration()
Reference evapotranspiration [mm/T].
- class hydpy.models.evap.evap_fluxes.NetShortwaveRadiation(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FluxSequence
Net shortwave radiation [W/m²].
- Calculated by the method:
- Required by the method:
- class hydpy.models.evap.evap_fluxes.NetLongwaveRadiation(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FluxSequence
Net longwave radiation [W/m²].
- Calculated by the method:
- Required by the method:
- class hydpy.models.evap.evap_fluxes.NetRadiation(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FluxSequence
Total net radiation [W/m²].
- Calculated by the method:
- Required by the methods:
- class hydpy.models.evap.evap_fluxes.SoilHeatFlux(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FluxSequence
Soil heat flux [W/m²].
- Calculated by the method:
- Required by the method:
- class hydpy.models.evap.evap_fluxes.ReferenceEvapotranspiration(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FluxSequence
Reference evapotranspiration [mm/T].
- Calculated by the method:
Log sequences¶
- class hydpy.models.evap.LogSequences(master: Sequences, cls_fastaccess: Type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)
Bases:
LogSequences
Log sequences of model evap.
- The following classes are selected:
LoggedGlobalRadiation()
Logged global radiation [W/m²].LoggedClearSkySolarRadiation()
Logged clear sky radiation [W/m²].
- class hydpy.models.evap.evap_logs.LoggedGlobalRadiation(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
LogSequence
Logged global radiation [W/m²].
- Updated by the method:
- Required by the method:
- class hydpy.models.evap.evap_logs.LoggedClearSkySolarRadiation(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
LogSequence
Logged clear sky radiation [W/m²].
- Updated by the method:
- Required by the method:
- class hydpy.models.evap.ControlParameters(master: Parameters, cls_fastaccess: Type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)¶
Bases:
SubParameters
Control parameters of model evap.
- The following classes are selected:
MeasuringHeightWindSpeed()
The height above ground of the wind speed measurements [m].
- class hydpy.models.evap.DerivedParameters(master: Parameters, cls_fastaccess: Type[FastAccessParameter] | None = None, cymodel: CyModelProtocol | None = None)¶
Bases:
SubParameters
Derived parameters of model evap.
- The following classes are selected:
Hours()
The length of the actual simulation step size in hours [h].Days()
The length of the actual simulation step size in days [d].NmbLogEntries()
The number of log entries required for a memory duration of 24 hours [-].
- class hydpy.models.evap.FactorSequences(master: Sequences, cls_fastaccess: Type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)¶
Bases:
FactorSequences
Factor sequences of model evap.
- The following classes are selected:
AdjustedWindSpeed()
Adjusted wind speed [m/s].SaturationVapourPressure()
Saturation vapour pressure [hPa].SaturationVapourPressureSlope()
The slope of the saturation vapour pressure curve [hPa/K].ActualVapourPressure()
Actual vapour pressure [hPa].PsychrometricConstant()
Psychrometric constant [hPa/K].
- class hydpy.models.evap.FluxSequences(master: Sequences, cls_fastaccess: Type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)¶
Bases:
FluxSequences
Flux sequences of model evap.
- The following classes are selected:
NetShortwaveRadiation()
Net shortwave radiation [W/m²].NetLongwaveRadiation()
Net longwave radiation [W/m²].NetRadiation()
Total net radiation [W/m²].SoilHeatFlux()
Soil heat flux [W/m²].ReferenceEvapotranspiration()
Reference evapotranspiration [mm/T].
- class hydpy.models.evap.InputSequences(master: Sequences, cls_fastaccess: Type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)¶
Bases:
InputSequences
Input sequences of model evap.
- The following classes are selected:
AirTemperature()
Air temperature [°C].RelativeHumidity()
Relative humidity [%].WindSpeed()
Wind speed [m/s].AtmosphericPressure()
Atmospheric pressure [hPa].GlobalRadiation()
Global radiation [W/m²].ClearSkySolarRadiation()
Clear sky solar radiation [W/m²].
- class hydpy.models.evap.LogSequences(master: Sequences, cls_fastaccess: Type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)¶
Bases:
LogSequences
Log sequences of model evap.
- The following classes are selected:
LoggedGlobalRadiation()
Logged global radiation [W/m²].LoggedClearSkySolarRadiation()
Logged clear sky radiation [W/m²].