Class LintulRoot

java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.models.lintul.LintulRoot
All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer

public class LintulRoot extends net.simplace.sim.model.FWSimComponent
Root depth growth calculation (only root depth, no root biomass)

LintulRoot.java The SimComponent LintulRoot.java calculates the daily increase in root depth (RROOTD in m d-1) depending on the crop development stage (DevStage) and the actual volumetric soil water content (WC). Vertical root growth only occurs when (1) the development of the crop has not reached anthesis (DevStage <1) and (2) the actual rooting depth (ROOTD in m) is below the user defined maximum rooting depth (ROOTDM in m). In this case, daily root growth rate depends on the crop specific maximum daily root growth rate (RRDMAX in m d-1) and the volumetric soil water content (WC in m^3 m^-3) in relation to the volumetric soil water content at wilting point (WCWP in m^3 m^-3):

\[ \begin{eqnarray} if & & ROOTD > ROOTDM & & and & & DevStage < 1: RROOTD = RRDMAX \cdot INSW(WC-WCWP) \end{eqnarray} \]

If crop developemnt has passed beyond anthesis or if ROOTD has reached ROOTDM, the daily increase in rrot depth is zero.

References: van Oijen, M. and P. Lefelaar. 2008. Lintul-2: water limited crop growth: A simple general crop growth model for water-limited growing conditions. Waageningen University, The Netherlands.

Author:
Gunther Krauss, Andreas Enders, Thomas Gaiser

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcInitRootDepthInitial rooting depth (at crop emergence)DOUBLEm0.05.00.1
constantcMaxRootDepthMaximum rooting depthDOUBLEm0.05.01.2
constantcMaxRootGrowthRateMaximum rate of increase in rooting depthDOUBLEm/d0.02.00.012
constantcWCWPSoil water content at wilting pointDOUBLEm3/m30.01.00.075
inputiDevStageDevelopment stage of the plantDOUBLE10.020.00.0
inputiDoHarvestIf plant is harvested on this dayBOOLEAN1--false
inputiDoSowIf plant is sown on this dayBOOLEAN1--false
inputiGlobalWaterContentActual amount of water in the soil (WA)DOUBLEmm0.01000.0-
statesRootDepthRoot DepthDOUBLEm0.020.00.0
raterRateRootDepthRate of Root DepthDOUBLEm/d0.02.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()
  • 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
    initializes the fields by getting input and output FWSimVariables from VarMap
    protected void
    process the algorithm and write the results back to VarMap

    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

    • LintulRoot

      public LintulRoot()
      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()
      initializes the fields by getting input and output FWSimVariables from VarMap
      Specified by:
      init in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.init()
    • process

      protected void process()
      process the algorithm and write the results back to VarMap
      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)
      Specified by:
      clone in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)