EPIC - crop¶
- class mef_agri.models.crop.model_epic.Crop_Simple¶
This class acts as root-model containing several child models (i.e.
model_name='crop'is passed to the parent classmef_agri.models.base.Model).It uses
mef_agri.models.crop.development.model_epic.Developmentas development-modelmef_agri.models.crop.cyield.model_epic.Yieldas crop-yield-model
- biomass()¶
MQ - State
\(c_{\textrm{bm},k} = c_{\textrm{bm},k-1} + c_{\Delta\textrm{bm},k}\ [\frac{t}{ha}]\)
Monteith (1977) approach is used for biomass increase. Thus, all biomass quantities represent dry matter (see [R6] first sentence of Introduction)
- Returns:
total dry biomass (aboveground + roots)
- Return type:
numpy.ndarray
- biomass_aboveground()¶
MQ - Random Output
\(c_{\textrm{bma},k}\ [\frac{t}{ha}] = c_{\textrm{bm},k} - c_{\textrm{R-bm},k}\ [\frac{t}{ha}]\)
- Returns:
above-ground biomass
- Return type:
numpy.ndarray
- biomass_aboveground_reduction()¶
MQ - Random Output
\(c_{\downarrow\Delta\textrm{bma},k}\ [\frac{t}{ha}]\)
- Returns:
reduction of above-ground biomass (only occurs in winter dormancy periods)
- Return type:
numpy.ndarray
- biomass_rate()¶
MQ - Random Output
\(c_{\Delta\textrm{bm},k}\ [\frac{t}{ha\cdot day}]\) - [R2] (equ. 4, 44)
- Returns:
daily increase of total biomass - [1] equ. 4 and 44
- Return type:
numpy.ndarray
- critical_aeration_factor()¶
MQ - Hyper-Parameter
\(c_{\textrm{caf},0}\ [\ ]\) - [R2] (table 2)
- Returns:
critical aeration factor
- Return type:
numpy.ndarray
- cyield()¶
Child Model
- Returns:
model to compute yield increase
- Return type:
- demand()¶
Child Model
- Returns:
model to determine crop demands
- Return type:
- development()¶
Child Model
- Returns:
model which computes the crop development stage
- Return type:
- dl()¶
RQ -
'daylength'from model with id'zone.atmosphere.daylength'\(a_{\textrm{dl},k}\ [h]\)
- Returns:
current daylength
- Return type:
- dlmin()¶
RQ -
'daylength_min'from model with id'zone.atmosphere.daylength'\(a_{\textrm{dlmin},k}\ [h]\)
- Returns:
min. daylength in a year at current site
- Return type:
- energy_conversion()¶
MQ - Hyper-Parameter
\(c_{\textrm{e2bm},0}\ [\frac{kg\cdot m^2}{MJ\cdot hat\cdot day}]\) - [R2] (table 2)
- Returns:
factor to convert energy to biomass
- Return type:
numpy.ndarray
- frost_coeff1()¶
MQ - Hyper-Parameter
\(c_{\textrm{frc1},0}\ [\ ]\) - [R2] (equ. 65, table 2)
- Returns:
regression coefficient for frost influence on biomass reduction
- Return type:
numpy.ndarray
- frost_coeff2()¶
MQ - Hyper-Parameter
\(c_{\textrm{frc2},0}\ [\frac{1}{^\circ C}]\) - [R2] (equ. 65, table 2)
- Returns:
regression coefficient for frost influence on biomass reduction
- Return type:
numpy.ndarray
- gc()¶
RQ -
'growth_constraint'from model with id'crop.stress'\(c_{\textrm{gc},k}\ [\ ]\)
- Returns:
biomass growth constraint (min. value of several stress factors)
- Return type:
- height()¶
MQ - Random Output
\(c_{\textrm{h},k}\ [m]\) - [R2] (equ. 11)
- Returns:
crop height
- Return type:
numpy.ndarray
- height_max()¶
MQ - Hyper-Parameter
\(c_{\textrm{hmax},0}]\ [\ ]\) - [R2] (table 2)
- Returns:
max. crop height
- Return type:
numpy.ndarray
- hufl()¶
RQ -
'heat_unit_factor_leaves'from model with id'crop.development'\(c_{\textrm{L-huf},k}\ [\ ]\)
- Returns:
heat unit factor for leaf growth
- Return type:
- hui()¶
RQ - quantity
'heat_unit_index'from model with id'crop.development'\(c_{\textrm{hui},k}\ [\ ]\)
- Returns:
current heat unit index
- Return type:
- initialize(epoch)¶
Initialization of random outputs with zero vectors and child models
- Parameters:
epoch (datetime.date) – initialization epoch
- lai()¶
RQ -
'lai'from model with id'crop.leaves'\(c_{\textrm{L-lai},k}\ [\ ]\)
- Returns:
current leaf area index
- Return type:
- leaves()¶
Child Model
- Returns:
model which computes growth of leaves
- Return type:
- rad()¶
RQ -
'radiation_sum'from model with id'zone.atmosphere.weather'\(a_{\textrm{rad},k}\ [\frac{MJ}{m^2\cdot day}]\)
- Returns:
daily radiation sum
- Return type:
numpy.ndarray
- radiation_intercepted()¶
MQ - Random Output
\(c_{\textrm{irad},k}\ [\frac{MJ}{m^2\cdot day}]\) - [R2] (equ. 3)
- Returns:
intercepted radiation
- Return type:
numpy.ndarray
- rbm()¶
RQ -
'biomass'from model with id'crop.roots'\(c_{\textrm{R-bm},k}\ [\frac{t}{ha}]\)
- Returns:
root biomass
- Return type:
- rf_daylength()¶
MQ - Random Output
\(c_{\textrm{rfdl},k}\ [\ ]\) - [R2] (equ. 64)
- Returns:
reduction factor on above-ground biomass due to daylength
- Return type:
numpy.ndarray
- rf_frost()¶
MQ - Random Output
\(c_{\textrm{rffr},k}\ [\ ]\) - [R2] (equ. 65)
- Returns:
reduction factor on above-ground biomass due to frost damage
- Return type:
numpy.ndarray
- roots()¶
Child Model
- Returns:
model which computes root growth
- Return type:
- stress()¶
Child model
- Returns:
model which determines stress factors
- Return type:
- tmin()¶
RQ -
'temperature_min'from model with id'zone.atmosphere.weather'\(a_{\textrm{tmin},k}\ [^\circ C]\)
- Returns:
min. temperature at current day
- Return type:
- update(epoch)¶
The following computations are performed
update
uptake()update
development()if
self.wdorm.value == Trueset
biomass_rate()to zero vector
else
difference in daylength
set
rf_daylength(),rf_frost()andbiomass_aboveground_reduction()to zero vectors
update
stress()update
leaves()update
roots()update
cyield()update
demand()in the case of
self.wdorm.value == True> reducebiomass()andbiomass_aboveground()bybiomass_aboveground_reduction()
- Parameters:
epoch (datetime.date) – current evaluation epoch
- uptake()¶
Child Model
- Returns:
model to determine/map the supplied quantities from the soil (and atmosphere)
- Return type:
- water_storage_max()¶
MQ - Hyper-Parameter
\(c_{\textrm{W-csm},0}\ [mm]\) - [R1] (equ. 2:2.1.1)
- Returns:
amount of water that can be stored in the canopy when leaves are fully developed
- Return type:
numpy.ndarray
- wdorm()¶
RQ -
'winter_dormancy'from model with id'crop.development'\(c_{\textrm{wd},k}\ [\ ]\) (boolean value)
- Returns:
flag if winter dormancy is active
- Return type:
- class mef_agri.models.crop.model_epic.Crop_Extended¶
This class acts as root-model containing several child models (i.e.
model_name='crop'is passed to the parent classssc_csm.models.base.Model).It uses
ssc_csm.models.crop.development.model_epic.Development_Dormancyas development-modelssc_csm.models.crop.cyield.model_epic.Yield_Stressedas crop-yield-model
- cyield()¶
Child Model
- Returns:
model to compute yield increase
- Return type:
ssc_csm.models.crop.cyield.model_epic.Yield_Stressed
- development()¶
Child Model
- Returns:
model to compute crop development
- Return type:
ssc_csm.models.crop.development.model_epic.Development_Dormancy