Class LintulRoot
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
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 Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cInitRootDepth | Initial rooting depth (at crop emergence) | DOUBLE | m | 0.0 | 5.0 | 0.1 |
constant | cMaxRootDepth | Maximum rooting depth | DOUBLE | m | 0.0 | 5.0 | 1.2 |
constant | cMaxRootGrowthRate | Maximum rate of increase in rooting depth | DOUBLE | m/d | 0.0 | 2.0 | 0.012 |
constant | cWCWP | Soil water content at wilting point | DOUBLE | m3/m3 | 0.0 | 1.0 | 0.075 |
input | iDevStage | Development stage of the plant | DOUBLE | 1 | 0.0 | 20.0 | 0.0 |
input | iDoHarvest | If plant is harvested on this day | BOOLEAN | 1 | - | - | false |
input | iDoSow | If plant is sown on this day | BOOLEAN | 1 | - | - | false |
input | iGlobalWaterContent | Actual amount of water in the soil (WA) | DOUBLE | mm | 0.0 | 1000.0 | - |
state | sRootDepth | Root Depth | DOUBLE | m | 0.0 | 20.0 | 0.0 |
rate | rRateRootDepth | Rate of Root Depth | DOUBLE | m/d | 0.0 | 2.0 | 0.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
-
Method Summary
Modifier and TypeMethodDescriptionprotected net.simplace.sim.model.FWSimComponent
clone
(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 void
init()
initializes the fields by getting input and output FWSimVariables from VarMapprotected void
process()
process the algorithm and write the results back to VarMapMethods 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
-
LintulRoot
public LintulRoot()Empty constructor used by class.forName()
-
-
Method Details
-
createVariables
create the FWSimVariables as interface for this SimComponent- 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()initializes the fields by getting input and output FWSimVariables from VarMap- Specified by:
init
in classnet.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 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) - Specified by:
clone
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)
-