evap¶
The HydPy-Evap model family supplies methods for calculating potential evapotranspiration.
Method Features¶
- class hydpy.models.evap.evap_model.Model[source]¶
Bases:
AdHocModelThe Evap base model.
- The following “run methods” are called in the given sequence during each simulation step:
Calc_AdjustedWindSpeed_V1Adjust the measured wind speed to a height of two meters above the ground according to Allen et al. (1998).Calc_SaturationVapourPressure_V1Calculate the saturation vapour pressure according to Allen et al. (1998).Calc_SaturationVapourPressureSlope_V1Calculate the slope of the saturation vapour pressure curve according to Allen et al. (1998).Calc_ActualVapourPressure_V1Calculate the actual vapour pressure according to Allen et al. (1998).Update_LoggedClearSkySolarRadiation_V1Log the clear sky solar radiation values of the last 24 hours.Update_LoggedGlobalRadiation_V1Log the global radiation values of the last 24 hours.Calc_NetShortwaveRadiation_V1Calculate the net shortwave radiation for the hypothetical grass reference crop according to Allen et al. (1998).Calc_NetLongwaveRadiation_V1Calculate the net longwave radiation according to Allen et al. (1998).Calc_NetRadiation_V1Calculate the total net radiation according to Allen et al. (1998).Calc_SoilHeatFlux_V1Calculate the soil heat flux according to Allen et al. (1998).Calc_PsychrometricConstant_V1Calculate the psychrometric constant according to Allen et al. (1998).Calc_ReferenceEvapotranspiration_V1Calculate the reference evapotranspiration constant according to Allen et al. (1998).
- class hydpy.models.evap.evap_model.Calc_AdjustedWindSpeed_V1[source]¶
Bases:
MethodAdjust 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:
MethodCalculate 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:
MethodCalculate 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:
MethodCalculate 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:
MethodLog 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:
MethodLog 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:
MethodCalculate 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:
MethodCalculate 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:
MethodCalculate 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:
MethodCalculate 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
NetRadiationas part of the daylight period and all steps with negativeNetRadiationas part of the nighttime period. If the summedNetRadiationduring daytime is five times as high as the absolute summedNetRadiationduring nighttime, the totalSoilHeatFluxis 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_V1sets theSoilHeatFluxto 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_V1does 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:
MethodCalculate 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:
MethodCalculate the reference evapotranspiration constant according to Allen et al. (1998).
- Requires the derived parameters:
- Requires the input sequence:
- Requires the factor sequences:
SaturationVapourPressureSlopePsychrometricConstantAdjustedWindSpeedSaturationVapourPressureActualVapourPressure- 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_V1generally 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:
SubParametersControl 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:
ParameterThe 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:
SubParametersDerived 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:
HoursParameterThe 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:
DaysParameterThe 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:
ParameterThe number of log entries required for a memory duration of 24 hours [-].
- Required by the methods:
Calc_NetLongwaveRadiation_V1Update_LoggedClearSkySolarRadiation_V1Update_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:
InputSequencesInput 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:
InputSequenceAir temperature [°C].
- class hydpy.models.evap.evap_inputs.RelativeHumidity(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequenceRelative humidity [%].
- Required by the method:
- class hydpy.models.evap.evap_inputs.WindSpeed(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequenceWind speed [m/s].
- Required by the method:
- class hydpy.models.evap.evap_inputs.AtmosphericPressure(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequenceAtmospheric pressure [hPa].
- Required by the method:
- class hydpy.models.evap.evap_inputs.GlobalRadiation(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequenceGlobal radiation [W/m²].
- Required by the methods:
Calc_NetLongwaveRadiation_V1Calc_NetShortwaveRadiation_V1Update_LoggedGlobalRadiation_V1
- class hydpy.models.evap.evap_inputs.ClearSkySolarRadiation(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
InputSequenceClear sky solar radiation [W/m²].
- Required by the methods:
Calc_NetLongwaveRadiation_V1Update_LoggedClearSkySolarRadiation_V1
Factor sequences¶
- class hydpy.models.evap.FactorSequences(master: Sequences, cls_fastaccess: Type[TypeFastAccess_co] | None = None, cymodel: CyModelProtocol | None = None)
Bases:
FactorSequencesFactor 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:
FactorSequenceAdjusted 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:
FactorSequenceSaturation vapour pressure [hPa].
- Calculated by the method:
- Required by the methods:
Calc_ActualVapourPressure_V1Calc_ReferenceEvapotranspiration_V1Calc_SaturationVapourPressureSlope_V1
- class hydpy.models.evap.evap_factors.SaturationVapourPressureSlope(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FactorSequenceThe 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:
FactorSequenceActual vapour pressure [hPa].
- Calculated by the method:
- Required by the methods:
Calc_NetLongwaveRadiation_V1Calc_ReferenceEvapotranspiration_V1
- class hydpy.models.evap.evap_factors.PsychrometricConstant(subvars: ModelSequences[ModelSequence, FastAccess])[source]¶
Bases:
FactorSequencePsychrometric 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:
FluxSequencesFlux 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:
FluxSequenceNet 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:
FluxSequenceNet 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:
FluxSequenceTotal 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:
FluxSequenceSoil 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:
FluxSequenceReference 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:
LogSequencesLog 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:
LogSequenceLogged 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:
LogSequenceLogged 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:
SubParametersControl 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:
SubParametersDerived 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:
FactorSequencesFactor 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:
FluxSequencesFlux 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:
InputSequencesInput 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:
LogSequencesLog sequences of model evap.
- The following classes are selected:
LoggedGlobalRadiation()Logged global radiation [W/m²].LoggedClearSkySolarRadiation()Logged clear sky radiation [W/m²].