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 TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcDevStageCriticaldevelopment stage when heat stress on senescence startsDOUBLE1--1.0
constantcFactorAtTempCriticalleaf senescence factor when maximum temperature equals critical temperatureDOUBLE1--3.0
constantcFactorSlopeincrement of leaf senescence factor per degree CelsiusDOUBLE°C-1--0.5
constantcTempCriticaltemperature threshold when heat stress on leaf senescence beginsDOUBLE°C--34.0
inputiDevStageDevelopment stageDOUBLE10.0-0.0
inputiTMaxDaily maximum temperatureDOUBLE°C--0.0
outLeafSenescenceFactorleaf senescence factor due to heat stressDOUBLE1--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

    Constructors
    Constructor
    Description
    Empty 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 Type
    Method
    Description
    protected net.simplace.sim.model.FWSimComponent
    clone(net.simplace.sim.util.FWSimVarMap aVarMap)
    creates a clone from this SimComponent for use in other threads
    HashMap<String,net.simplace.sim.util.FWSimVariable<?>>
     
    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.
    protected void
     
    protected void
     

    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • 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

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Specified by:
      createVariables in interface net.simplace.sim.util.FWSimFieldContainer
      Specified by:
      createVariables in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.createVariables()
    • init

      protected void init()
      Specified by:
      init in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.init()
    • process

      protected void process()
      Specified by:
      process in class net.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 class net.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 class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)