EPIC - crop.development¶
- class mef_agri.models.crop.development.model_epic.Development(**kwargs)¶
Model which computes crop development based on [R2]. Winter dormancy is not considered (i.e.
self.winter_dormancy
is always set toFalse
). If this is required, seeDevelopment_Dormancy
.kwargs \(\rightarrow\) see
mef_agri.models.base.Model
- dl()¶
RQ -
'daylength'
from model with id'zone.atmosphere.daylength'
\(a_{\textrm{dl},k}\ [h]\)
- Returns:
current daylength at site
- Return type:
- heat_unit_factor_leaves()¶
MQ - Random Output
\(c_{\textrm{L-huf},k}\ [\ ]\) - [R2] (equ. 9)
- Returns:
heat unit factor for leaf growth
- Return type:
numpy.ndarray
- heat_unit_index()¶
MQ - State
\(c_{\textrm{D-hui},k} = \frac{\sum_k{c_{\textrm{D-dhu},k}}}{c_{\textrm{D-phu},0}}\ [\ ]\) - [R2] (equ. 2)
- Returns:
current heat unit index
- Return type:
numpy.ndarray
- heat_units_pot()¶
MQ - Hyper-Parameter
\(c_{\textrm{D-phu},0}\ [^\circ C]\) - [R2] (equ. 2, table 2)
- Returns:
potential heat units for maturity
- Return type:
numpy.ndarray
- heat_units_rate()¶
MQ - Random Output
\(c_{\textrm{D-dhu},k}\ [^\circ C]\) - [R2] (equ. 1)
- Returns:
daily increase of heat units
- Return type:
numpy.ndarray
- hufl_coeff1()¶
MQ - Hyper-Parameter
\(c_{\textrm{D-lc1},0}\ [\ ]\) - [R2] (equ. 9, table 2)
- Returns:
regression coefficient for leaves heat-unit-factor
- Return type:
numpy.ndarray
- hufl_coeff2()¶
MQ - Hyper-Parameter
\(c_{\textrm{C-lc2},0}\ [\ ]\) - [R2] (equ. 9, table 2)
- Returns:
regression coefficient for leaves heat-unit-factor
- Return type:
numpy.ndarray
- initialize(epoch)¶
Initialization of random outputs with zero vectors.
- Parameters:
epoch (datetime.date) – initialization epoch
- temperature_base()¶
MQ - Hyper-Parameter
\(c_{\textrm{D-tb},0}\ [^\circ C]\) - [R2] (equ. 1, table 2)
- Returns:
crop-specific base temperature for heat-unit computation
- Return type:
numpy.ndarray
- temperature_opt()¶
MQ - Hyper-Parameter
\(c_{\textrm{D-to},0}\ [^\circ C]\) - [R2] (equ. 46, table 2)
- Returns:
crop-specific optimum temperature regarding temperature stress
- Return type:
numpy.ndarray
- tmax()¶
RQ -
'temperature_max'
from model with id'zone.atmosphere.weather'
\(a_{\textrm{tmax},k}\ [^\circ C]\)
- Returns:
daily max. temperature
- Return type:
- tmin()¶
RQ -
'temperature_min'
from model with id'zone.atmosphere.weather'
\(a_{\textrm{tmin},k}\ [^\circ C]\)
- Returns:
daily min. temperature
- Return type:
- update(epoch)¶
The following computations are performed
call
update_dormancy()
if
self.winter_dormancy == True
set
heat_units_rate()
to zero vectorheat_unit_index()
andheat_unit_factor_leaves()
remain unchanged
else
- Parameters:
epoch (datetime.date) – current evaluation epoch
- update_dormancy()¶
Method which has to be implemented in a child class of
Development
. It is called inDevelopment.update()
.
- class mef_agri.models.crop.development.model_epic.Development_Dormancy(**kwargs)¶
This model considers winter dormancy periods. According to [R2], it is present, when the current daylength is within \(\pm\) one hour around the minimum possible daylength at the current site.
Inherits from
Development
kwargs \(\rightarrow\) see
mef_agri.models.base.Model
- update_dormancy()¶
Determine winter dormancy periods based on current daylength and minimum possible daylength at current site.