SWAT - soil.surface.evapotranspiration¶
- class mef_agri.models.soil.surface.evapotranspiration.model_swat.Evapotranspiration_V2009(**kwargs)¶
This evapotranspiration model uses the Penman-Monteith method to compute potential evapotranspiration.
In [R1] either soil evaporation or (crop) transpiration occurs. This approach seems to be unrealistic especially in early growing stages of the crop (much bare soil area). Here, the soil cover index will be used to split the remaining potential evapotranspiration (i.e. after evaporating the canopy water) into transpiration and soil evaporation. Snow covers will be neglected for now.
Used constants
kwargs \(\rightarrow\)
mef_agri.models.base.Model
- cw()¶
RQ - from model with id
'zone.soil.surface.water'
\(s_{\textrm{W-c},k}\ [mm]\)
- Returns:
amount of water stored in the canopy
- Return type:
- evaporation_pot()¶
MQ - Random Output
\(s_{\textrm{W-ep},s,k}\ [\frac{mm}{day}]\)
- Returns:
potential evaporation from soil
- Return type:
numpy.ndarray
- evapotranspiration_pot()¶
MQ - Random Output
\(s_{\textrm{W-etp},s,k}\ [\frac{mm}{day}]\) - [R1] (equ. 2:2.2.2)
- Returns:
potential evapotranspiration
- Return type:
numpy.ndarray
- hc()¶
RQ - from model with id
'crop'
\(c_{\textrm{h},k}\ [cm]\)
- Returns:
current crop height
- Return type:
- hh()¶
RQ - from model with id
'zone.atmosphere.weather'
\(a_{\textrm{h-hum}}\ [cm]\)
- Returns:
ref. height of the humidity observations
- Return type:
- hw()¶
RQ - from model with id
'zone.atmosphere.weather'
\(a_{\textrm{h-wnd}}\ [cm]\)
- Returns:
ref. height of the wind observations
- Return type:
- initialize(epoch)¶
Initialization of
evapotranspiration_pot()
,evaporation_pot()
andtranspiration_pot()
with zero arrays.- Parameters:
epoch (datetime.date) – intialization epoch
- lai()¶
RQ - from model with id
'crop.leaves'
\(c_{\textrm{lai},k}\ [\ ]\)
- Returns:
leaf area index
- Return type:
- lh()¶
RQ - from model with id
'zone.atmosphere.weather'
\(a_{\textrm{lhv},k}\ [\frac{MJ}{kg}]\)
- Returns:
latent heat of vaporization
- Return type:
- nrad()¶
RQ - from model with id
'zone.atmosphere.radiation'
\(a_{\textrm{nrad},k}\ [\frac{MJ}{m^2\cdot day}]\)
- Returns:
daily net radiation
- Return type:
- psyc()¶
RQ - from model with id
'zone.atmosphere.weather'
\(a_{\textrm{psyc},k}\ [\frac{kPa}{^\circ C}]\)
- Returns:
psychrometric constant at site elevation
- Return type:
- rad()¶
RQ - from model with id
'zone.atmosphere.weather'
\(a_{\textrm{rad},k}\ [\frac{W}{m^2}]\)
- Returns:
daily radiation sum
- Return type:
- resistance_air()¶
MQ - Random Output
\(s_{\textrm{ra},s,k}\ [\frac{s}{m}]\) - [R1] (equ. 2:2.2.3)
- Returns:
diffusion resistance of the air layer
- Return type:
numpy.ndarray
- resistance_crop()¶
MQ - Random Output
\(s_{\textrm{rc},s,k}\ [\frac{s}{m}]\)
- Returns:
diffusion resistance of crop canopy
- Return type:
numpy.ndarray
- sci()¶
RQ - from model with id
'zone.soil.surface'
\(s_{\textrm{sci},s,k}\ [\ ]\)
- Returns:
soil cover index
- Return type:
- slp()¶
RQ - from model with id
'zone.atmosphere.weather'
\(a_{\textrm{ssvpc}}\ [\frac{kPa}{^\circ C}]\)
- Returns:
slope of the saturated vapor pressure curve (d_vpr_sat / d_temp)
- Return type:
- temp()¶
RQ - from model with id
'zone.atmosphere.weather'
\(a_{\textrm{temp},k}\ [^\circ C]\)
- Returns:
daily mean temperature
- Return type:
- transpiration_pot()¶
MQ - Random Output
\(s_{\textrm{W-tp},s,k}\ [\frac{mm}{day}]\)
- Returns:
potential transpiration
- Return type:
numpy.ndarray
- update(epoch)¶
The following computations are performed
-
if a crop is present
roughness length of momentum transfer - [R1] (equ. 2:2.2.4, 2:2.2.5)
roughness length of vapor transfer - [R1] (equ. 2:2.2.6)
zero plane displacement of the wind profile - [R1] (equ. 2:2.2.7)
check the \(\ln\)-arguments in the computation of
resistance_air()
-if the min. value is lower than
1e-8
,resistance_air()
will be computed for a reference crop - [R1] (equ. 2:2.2.20)else - [R1] (equ. 2:2.2.3)
if no crop is present,
resistance_air()
will be computed for a reference crop - [R1] (equ. 2:2.2.20)
-
absorbed photosynthetically active radiation (
apar
) - [R4] (equ. 6, section Discussion)stomatal resistance with regression function - [R4] (approximate conversion value of 4.0 from fig. 1)
resistance_crop()
- [R1] (equ. 2:2.2.8)
combined term of Penman-Monteith method
ct = 1710.0 - 6.85 * self.temp.value
evaporation of canopy water
splitting remaining evapotranspiration into potential transpiration and potential evaporation from soil using
sci()
- Parameters:
epoch (datetime.date) – current evaluation epoch
-
- vpr()¶
RQ - from model with id
'zone.atmosphere.weather'
\(a_{\textrm{vpr},k}\ [kPa]\)
- Returns:
actual vapor pressure
- Return type:
- vpr_sat()¶
RQ - from model with id
'zone.atmosphere.weather'
\(a_{\textrm{vprs},k}\ [kPa]\)
- Returns:
saturated vapor pressure
- Return type:
- ws()¶
RQ - from model with id
'zone.atmosphere.weather'
\(a_{\textrm{wsp},k}\ [\frac{m}{s}]\)
- Returns:
mean daily wind speed
- Return type: