Class Vernalisation

java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.experimental.amei.Vernalisation
All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer

public class Vernalisation extends net.simplace.sim.model.FWSimComponent
Reduces daily temperature increment by vernalisation and photoresponse.

Vernalisation

Vernalisation days

The daily increment of vernalisation days is determined by daily average temperature iDAVTEMP

\[ \begin{eqnarray} VDI(iDAVTEMP) & = & \left\{ \begin{array}{l} 0 & \text{if} \quad iDAVTEMP \lt cTlowCritical\\ \frac{iDAVTEMP - cTlowCritical}{cTlow - cTlowCritical} & \text{if} \quad cTlowCritical \le iDAVTEMP \lt cTlow \\ 1 & \text{if} \quad cTlow \le iDAVTEMP \lt cThigh \\ \frac{cThighCritical - iDAVTEMP}{cThighCritical - cThigh} & \text{if} \quad cThigh \le iDAVTEMP \lt cThighCritical \\ 0 & \text{if} \quad cThighCritical \le iDAVTEMP\\ \end{array} \right. \end{eqnarray} \]

And sVernalDays is incremented by VDI(iDAVTEMP).

Vernalisation factor

VernalisationFactor (VF) is determined by the sVernalDays (VD)

\[ \begin{eqnarray} VF(VD) & = & \left\{ \begin{array}{l} 0 & \text{if} \quad VD \lt cVernalDaysMin\\ \frac{VD - cVernalDaysMin}{cVernalDaysMax - cVernalDaysMin} & \text{if} \quad cVernalDaysMin \le VD \lt cVernalDaysMax \\ 1 & \text{if} \quad cVernalDaysMax \le VD \\ \end{array} \right. \end{eqnarray} \]

Applying Vernalisation

Before anthesis:

\[ \begin{eqnarray} RTSUM & = & iTSumBaseAnt \cdot Min(PhotoPeriodeFactor, VernalisationFactor) \end{eqnarray} \]

After anthesis:

\[ \begin{eqnarray} RTSUM & = & iTSumBaseMat \cdot Min(PhotoPeriodeFactor, VernalisationFactor) \end{eqnarray} \]

cApplyPhotoresponse and cApplyVernalisation control whether photoresponse, vernalisation or both are applied. If the control variables are false, the coresponding factor is always 1, meaning that the effect is not applied.

The state sVernalDays has to be reset on each sowing. Therefore the input iDoSow has to be provided.

References

Goudriaan, H.H. Van Laar, 1994. Modelling Potential Crop Growth Processes, Kluwer Academic Publishers, Dordrecht (1994) 238 pp

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcApplyVernalisationFlag to activate vernalisation (True: crops requiring vernalisation for flower initialisationBOOLEAN1--true
constantcThighUpper temperature threshold for vernalisation; days with higher mean air temperature are not fully considered as a vernalisation day DOUBLE°C-40.050.010.0
constantcThighCriticalUpper temperature threshold for vernalisation; days with higher mean air temperature don't contribute at all for vernalisation day DOUBLE°C-40.050.017.0
constantcTlowLower temperature threshold for vernalisation, days with lower mean air temperature are not fully considered as a vernalisation dayDOUBLE°C-40.050.03.0
constantcTlowCriticalLower critical temperature threshold for vernalisation, days with lower mean air temperature don't contribute at all for vernalisation dayDOUBLE°C-40.050.0-4.0
constantcVernalDaysMaxCrop specific maximum number of days required for vernalisationINT1040070
constantcVernalDaysMinCrop specific minimum number of days required for vernalisationINT1010010
inputiDAVTMPDaily mean air temperatureDOUBLE°C0.050.0-
inputiDevStageDevelopment stage of the crop (1.0=anthesis, 2.0=physiological maturity)DOUBLE10.03.0-
inputiDevStageBaseShootDevelopment stage for base shootDOUBLE10.010000.00.5
inputiDoSowtrue if sowing dayBOOLEAN1--false
inputiPhotoPeriodFactorPhotoPeriodFactorDOUBLE10.01.0-
inputiTSumBaseAntDaily effective temperature before anthesisDOUBLE°C0.010000.0-
inputiTSumBaseMatDaily effective temperature after anthesisDOUBLE°C0.010000.0-
inputiTSumBaseShootDaily effective temperature after shooting - if givenDOUBLE°C0.010000.0-
statesVernalDaysactual Vernal DaysDOUBLE10.0400.00.0
outDayLengthDay Length in minutesINTmin014410
outRTSUMDaily effective temperature used to calculate the temperature sum and development stage at a given dayDOUBLE°C0.050.0-
outVernalisationFactordaily vernalisation factorDOUBLE10.01.00.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()
    Vernalisation(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)
    Called by Clone method only
  • Method Summary

    Modifier and Type
    Method
    Description
    protected net.simplace.sim.model.FWSimComponent
    clone(net.simplace.sim.util.FWSimVarMap aVarMap)
     
    HashMap<String,net.simplace.sim.util.FWSimVariable<?>>
    Create the FWSimVariables as interface for this SimComponent
    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
     
    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

    • Vernalisation

      public Vernalisation(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)
      Called by Clone method only
      Parameters:
      aName -
      aFieldMap -
      aInputMap -
      aSimComponentElement -
      aVarMap -
      aOrderNumber -
    • Vernalisation

      public Vernalisation()
      Empty constructor used by class.forName()
  • Method Details

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Create the FWSimVariables as interface for this SimComponent
      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()
    • reset

      protected void reset()
    • process

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