Class HeatStressOnLeafSenescence
java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.crop.heatstress.HeatStressOnLeafSenescence
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
public class HeatStressOnLeafSenescence
extends net.simplace.sim.model.FWSimComponent
Calculates the effect of heat stress on leaf senescence .
When maximum temperature exceeds a threshold, leaf senescence increases. This module calculates the leaf senescence increase factor that can be used by biomass modules to adjust the leaf senescence rate.
\[ \begin{eqnarray} F_{heat}(T_{max},DVS) & = & \begin{cases} max(0,m\cdot (T_{max} - T_{C}) + F_{TC}) & \text{if} & T_{max} > T_C \quad \text{and} \quad DVS > DVS_C\\ 1 &\text{else} & \end{cases} \end{eqnarray} \] where \(F_{heat}\) is the calculated senescence factor dependend on the daily maximum temperature \(T_{max}\) and actual development stage \(DVS\), \(DVS_C\) is the critical dev stage, \(T_C\) is the critical temperature, \(F_{TC}\) the factor at the critical temperature and \(m\) the slope of the factor increment by temperature. With default values \(T_C = 34, m=0.5, F_{TC}=3\) the formula is equivalent to the formula in the referenced paper (A): \(F_{heat} = 4 - (1-(T_{max} -34°)/2)\)References:
(A) Asseng, S.; Foster, I.; Turner N. C: The impact of temperature variability on wheat yields
- Author:
- Gunther Krauss, Ehsan Eyshi Rezaei "eeyshire@uni-bonn.de"
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cDevStageCritical | development stage when heat stress on senescence starts | DOUBLE | 1 | - | - | 1.0 |
constant | cFactorAtTempCritical | leaf senescence factor when maximum temperature equals critical temperature | DOUBLE | 1 | - | - | 3.0 |
constant | cFactorSlope | increment of leaf senescence factor per degree Celsius | DOUBLE | °C-1 | - | - | 0.5 |
constant | cTempCritical | temperature threshold when heat stress on leaf senescence begins | DOUBLE | °C | - | - | 34.0 |
input | iDevStage | Development stage | DOUBLE | 1 | 0.0 | - | 0.0 |
input | iTMax | Daily maximum temperature | DOUBLE | °C | - | - | 0.0 |
out | LeafSenescenceFactor | leaf senescence factor due to heat stress | DOUBLE | 1 | - | - | 1.0 |
-
Nested Class Summary
Nested classes/interfaces inherited from class net.simplace.sim.model.FWSimComponent
net.simplace.sim.model.FWSimComponent.TEST_STATE
-
Field Summary
Fields inherited from class net.simplace.sim.model.FWSimComponent
iFieldMap, iFrequence, iInputMap, iJexlRule, iMasterComponentGroup, iName, iOrderNumber, isComponentGroup, iSimComponentElement, iSimModel, iVarMap
-
Constructor Summary
ConstructorDescriptionEmpty constructor used by class.forName()HeatStressOnLeafSenescence
(String aName, HashMap<String, net.simplace.sim.util.FWSimVariable<?>> aFieldMap, HashMap<String, String> aInputMap, org.jdom2.Element aSimComponentElement, net.simplace.sim.util.FWSimVarMap aVarMap, int aOrderNumber) -
Method Summary
Modifier and TypeMethodDescriptionprotected net.simplace.sim.model.FWSimComponent
clone
(net.simplace.sim.util.FWSimVarMap aVarMap) creates a clone from this SimComponent for use in other threadsfillTestVariables
(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected void
init()
protected void
process()
Methods inherited from class 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
-
Constructor Details
-
HeatStressOnLeafSenescence
public HeatStressOnLeafSenescence(String aName, HashMap<String, net.simplace.sim.util.FWSimVariable<?>> aFieldMap, HashMap<String, String> aInputMap, org.jdom2.Element aSimComponentElement, net.simplace.sim.util.FWSimVarMap aVarMap, int aOrderNumber) - Parameters:
aName
-aFieldMap
-aInputMap
-aSimComponentElement
-aVarMap
-aOrderNumber
-
-
HeatStressOnLeafSenescence
public HeatStressOnLeafSenescence()Empty constructor used by class.forName()
-
-
Method Details
-
createVariables
- Specified by:
createVariables
in interfacenet.simplace.sim.util.FWSimFieldContainer
- Specified by:
createVariables
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.createVariables()
-
init
protected void init()- Specified by:
init
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.init()
-
process
protected void process()- Specified by:
process
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.process()
-
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.- Specified by:
fillTestVariables
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
net.simplace.sim.util.FWSimFieldContainer#fillTestVariables(int aParamIndex, TEST_STATE aDefineOrCheck)
-
clone
protected net.simplace.sim.model.FWSimComponent clone(net.simplace.sim.util.FWSimVarMap aVarMap) creates a clone from this SimComponent for use in other threads- Specified by:
clone
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)
-