Class LintulPartitioning

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

public class LintulPartitioning extends net.simplace.sim.model.FWSimComponent

LintulPartitioning.java calculates the fractions of the daily total biomass to be distributed into the plant organs leaves (FractionLeaves), roots (FractionRoot), stem (FractionStems) and storage organs (FractionStorageOrgans) in the SimComponent LintulBiomass. The crop and development stage specific fractions for each organ provided by the user in the partitioning tables in the crop properties file (FRTTB, FLVTB, FSTTB, FSOTB) are modified daily according to the dominance of either drought or nitrogen stress.

Effect of drought

If, at a given day, drought stress is dominant, the fraction of biomass transfered to the root is increased by multiplication with the root fraction modification factor (FRTMOD) which is calculated according to the equation

\[ \begin{eqnarray} FRTMOD & =& Max(1.0, 1.0 / (TRANRF + 0.5) \end{eqnarray} \]

where TRANRF is the transpiration reduction factor calculated in the SimComponent LintulWaterStress. Both factors are dimensionless, FTR ranging between 0 and 1 and FRTMOD is equal or greater than 1. The root partition fraction provided in the partitioning table (FRTTB) is then multiplied with FRTMOD thereby increasing the amount of assimilates transfered to the roots in the event of moderate to severe drought stress (TRANRF < 0.5). The other fractions (FLVTB, FSTTB, FSOTB) are then reduced equally to ensure that the sum of all fractions remains equal to 1.

Effect of nitrogen stress

If, at a given day, nitrogen stress is dominant, the fraction of biomass transfered to the leaves is reduced with the leaf fraction modification factor (FLVMOD):

\[ \begin{eqnarray} FLVMOD & =& e^{-PartitionNStressReduction \cdot (1-NitrogenNutritionIndex)} \end{eqnarray} \]

where FLVMOD is the leaf fraction partitioning factor (0,1) and NitrogenNutritionIndex is the Nitrogen Nutrition Index calculated in the SimComponent NDemand. The PartitionNStressReduction factor is user specified in the crop properties file. All factors are dimensionless ranging between 0 and 1. The excess biomass is then transfered to the stem.

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 for the Lintul crop model

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcFLVTBDeprecated: please use cLeavesPartitioningTableFraction/DVS. Fractions Table LeavesDOUBLEARRAY1---
constantcFRTTBDeprecated: please use cRootsPartitioningTableFraction/DVS. Fractions Table RootDOUBLEARRAY1---
constantcFSOTBDeprecated: please use cStorageOrganssPartitioningTableFraction/DVS. Fractions Table Storage OrgansDOUBLEARRAY1---
constantcFSTTBDeprecated: please use cStemsPartitioningTableFraction/DVS. Fractions Table StemsDOUBLEARRAY1---
constantcLeavesPartitioningTableDVSDVS for fraction of total dry matter to leaves (c.f. FLVTB)DOUBLEARRAY1---
constantcLeavesPartitioningTableFractionFraction of total dry matter to leaves as function of DVS (c.f. FLVTB)DOUBLEARRAY10.01.0-
constantcPartitionNStressReductionN Stress on PartitioningDOUBLE10.01.01.0
constantcRootsPartitioningTableDVSDVS for fraction of total dry matter to roots (c.f. FRTTB)DOUBLEARRAY1---
constantcRootsPartitioningTableFractionFraction of total dry matter to roots as function of DVS (c.f. FRTTB)DOUBLEARRAY10.01.0-
constantcStemsPartitioningTableDVSDVS for fraction of total dry matter to stems (c.f. FSTTB)DOUBLEARRAY1---
constantcStemsPartitioningTableFractionFraction of total dry matter to stems as function of DVS (c.f. FSTTB)DOUBLEARRAY10.01.0-
constantcStorageOrgansPartitioningTableDVSDVS for fraction of total dry matter to storage organs (c.f. FSOTB)DOUBLEARRAY1---
constantcStorageOrgansPartitioningTableFractionFraction of total dry matter to storage organs as function of DVS (c.f. FSOTB)DOUBLEARRAY10.01.0-
inputiDevStageDevelopment stage of the plantDOUBLE10.03.00.0
inputiDoSowif Sowingdate reached fraction tables are initializedBOOLEAN1--false
inputiNitrogenNutritionIndexNitrogen Nutrition IndexDOUBLE10.01.01.0
inputiTRANRFTranspiration reduction factorDOUBLE10.01.01.0
outFractionLeavesFraction part going to Leaves compartmentDOUBLE10.01.00.0
outFractionRootFraction part going to Root compartmentDOUBLE10.01.00.0
outFractionStemsFraction part going to Stems compartmentDOUBLE10.01.00.0
outFractionStorageOrgansFraction part going to Storage Organs compartmentDOUBLE10.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()
  • 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

    • LintulPartitioning

      public LintulPartitioning()
      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)