Klasse PlantHeightByTemperature
- Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer
The model calculates plant height increment by using daily mean temperature. It uses the ODE of the logistic function
\[ \frac{dH}{dt} = r \cdot \left (T(t)-T_b\right )\cdot H(t)\cdot \left (1 - \frac{H(t)}{H_{max}}\right ) \]For daily calculation of the height \(H_d\) this turns down to the formula
\[ H_{d+1} = F_{stress}\cdot r\cdot \left (T_{d}-T_b \right )\cdot H_d\cdot \left (1 - \frac{H_d}{H_{max}} \right ) + H_d \]where \(H_d\) is the crop height at day \(d\), \(H_{max}\) the maximal crop height, \(T_d\) the daily mean temperature and \(T_b\) the base temperature. \(F_{stress}\) is a factor between 0 and 1 that reduces the daily potential growth due to stresses.
The height growths stops, when the temperature sum \(\sum_{d=1}^{D}(T_d - T_b)\) is bigger than the maximum temperature sum \(TS_{max}\).
References
Berghuijs, H. N. C. et al, Identification of species traits enhancing yield in wheat-faba bean intercropping: development and sensitivity analysis of a minimalist mixture model, Plant Soil, 2020, https://doi.org/10.1007/s11104-020-04668-0
- Autor:
- Gunther Krauss, guntherkrauss@uni-bonn.de
Component Variables
| Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
|---|---|---|---|---|---|---|---|
| constant | cBaseTemperature | base temperature | DOUBLE | °C | -10.0 | 20.0 | 0.0 |
| constant | cInitialHeight | initial height | DOUBLE | m | 0.0 | 100.0 | 0.0 |
| constant | cMaxHeight | maximal height | DOUBLE | m | 0.0 | 100.0 | 0.0 |
| constant | cRelativeGrowthRate | relative growth rate per day and degree Celsius | DOUBLE | (°C d)-1 | 0.0 | 1.0 | 0.00567 |
| constant | cTsumMaxHeight | temperature sum where the height growth stops | DOUBLE | °C d | 0.0 | 10000.0 | 800.0 |
| input | iDoHarvest | I true, harvesting occurs (height is set to 0). | BOOLEAN | 1 | - | - | false |
| input | iDoSow | If true, sowing occurs (height is set to initial height.) | BOOLEAN | 1 | - | - | false |
| input | iStressFactor | Stress factor that may reduce daily height increment. Default of 1 means no reduction. | DOUBLE | 1 | 0.0 | 1.0 | 1.0 |
| input | iTMax | Daily maximum temperature | DOUBLE | °C | -50.0 | 100.0 | 0.0 |
| input | iTMin | Daily minimum temperature | DOUBLE | °C | -50.0 | 100.0 | 0.0 |
| state | sHeight | Plant height | DOUBLE | m | 0.0 | 50.0 | 0.0 |
| state | sTsum | Actual temperature sum | DOUBLE | °C d | 0.0 | 50.0 | 0.0 |
| rate | rHeightRate | Daily increment of height | DOUBLE | m/d | 0.0 | 10000.0 | 0.0 |
| rate | rTsumRate | Daily increment of temperature sum | DOUBLE | °C | 0.0 | 60.0 | 0.0 |
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen net.simplace.sim.model.FWSimComponent
net.simplace.sim.model.FWSimComponent.TEST_STATE -
Feldübersicht
Von Klasse geerbte Felder net.simplace.sim.model.FWSimComponent
iFieldMap, iFrequence, iInputMap, iJexlRule, iMasterComponentGroup, iName, iOrderNumber, isComponentGroup, iSimComponentElement, iSimModel, iVarMap -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected net.simplace.sim.model.FWSimComponentclone(net.simplace.sim.util.FWSimVarMap aVarMap) Create the FWSimVariables as interface for this SimComponentfillTestVariables(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected voidinit()Initializes the fields by getting input and output FWSimVariables from VarMapprotected voidprocess()Process the algorithm and write the results back to VarMapVon Klasse geerbte Methoden net.simplace.sim.model.FWSimComponent
addVariable, bind, checkCondition, createSimComponent, createSimComponent, createSimComponent, createSimComponent, doProcess, getConstantVariables, getContentType, getCreateFormXML, getDescription, getEditFormXML, getFieldMap, getFrequence, getFrequenceRuleScript, getInputs, getInputVariables, getMasterComponentGroup, getName, getOrderNumber, getOutputVariables, getVariable, getVariableField, getVarMap, initialize, isConditionCheck, isVariableAvailable, performLinks, performLinks, readInputs, removeVariable, reset, runComponentTest, setVariablesDefault, toComponentLinkingXML, toDocXML, toGroupXML, toOutputDefinitionXML, toResourcesDataXML, toResourcesDefinitionXML, toString, toXML, writeVarInfos
-
Konstruktordetails
-
PlantHeightByTemperature
public PlantHeightByTemperature()Empty constructor used by class.forName()
-
-
Methodendetails
-
createVariables
Create the FWSimVariables as interface for this SimComponent- Angegeben von:
createVariablesin Schnittstellenet.simplace.sim.util.FWSimFieldContainer- Angegeben von:
createVariablesin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
init
protected void init()Initializes the fields by getting input and output FWSimVariables from VarMap- Angegeben von:
initin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
process
protected void process()Process the algorithm and write the results back to VarMap- Angegeben von:
processin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
fillTestVariables
public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> fillTestVariables(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.- Angegeben von:
fillTestVariablesin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
clone
protected net.simplace.sim.model.FWSimComponent clone(net.simplace.sim.util.FWSimVarMap aVarMap) - Angegeben von:
clonein Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-