java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.experimental.grassland.lintul.LintulBiomass
All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer

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

LintulBiomass.java calculates daily increase in crop total biomass and LAI depending on intercepted radiation and the occurence of nitrogen or water stress

Light interception

Incoming radiation (input variable DTR in MJ m-2) is intercepted by the crop canopy depending on the extinction coefficient kc and the actual LAI assuming that photosynthetically active radiation is 50% of the global radiation

Intercepted photosynthetically active radiation (PARINT in MJ m-2) is then calculated as:

\[ \begin{eqnarray} PARINT & = & 0.5 \cdot DRT (1 - e^{-k LAI}) \end{eqnarray} \]

Daily increase in total biomass

Daily increase in total crop biomass is calculated based on the intercepted photosynthetically active radiation (PARINT) depending on the crop specific light use efficiency (LUE) and on the major stress occuring at the same day. In the case of predominant drought stress, daily total biomass increase (GTOTAL in g m-2) is

\[ \begin{eqnarray} GTOTAL & = & LUE \cdot PARINT \cdot TRANRF \end{eqnarray} \]

where TRANRF is the transpiration reduction factor calculated in the SimComponent LintulWaterStress.java as the ratio between actual and potential crop transpiration.

In the case of predominant nitrogen deficiency (i.e. the nitrogen nutrition index NNI is lower than TRANRF), light use efficiency is reduced by the LueReductionToNStress factor and daily total biomass increase (GTOTAL) is calculated as

\[ \begin{eqnarray} GTOTAL & = & LUE \cdot PARINT \cdot LueReductionToNStress \end{eqnarray} \]

where the LueReductionToNStress factor is calculated as

\[ \begin{eqnarray} LueReductionToNStress & = & 1 - LueNStressReduction \cdot e^{(1 - NNI)} \end{eqnarray} \]

The crop specific reduction constant LueNStressReduction and the Nitrogen Nutrition index (NNI) are both dimension less and NNI is defined by the the ratio between actual crop N concentration and critical crop N concentration (half of optimum N concentration which depends on crop and development stage) (for details refer to the SimComponent Ndemand.java).

Daily increase in LAI

The daily increase of total crop biomass is partioned into root, stem, leaves and storage organs depending on a crop development specific partioning factor which is defined in the crop property file. The daily increase in leaf biomass is calculated as the fraction FLV of the total increase GTOTAL (g m-2):

\[ \begin{eqnarray} GLV & = & GTOTAL \cdot FLV \end{eqnarray} \]

Then the daily increase in leaf area index (LAI) is derived from the increase of leaf biomass by multiplication with the specific leaf weight (SLA in m2 g-1)

\[ \begin{eqnarray} GLAI & = & GLV \cdot SLA \end{eqnarray} \]

In the event of nitrogen deficiency, SLA is reduced according to

\[ \begin{eqnarray} SLA & = & SLA \cdot e^{-SlaNStressReduction(1-NNI)} \end{eqnarray} \]

with the dimension less factor SlaNStressReduction expressing the crop specific sensitivity of specific leaf weight to N stress. The SlaNStressReduction factor which is a value between 0 and 1 must be defined in the crop property file.

In the early stage of growth, if the phenological development has not yet passed a user defined stage DevStageRGRL or if LAI is below a user defined critical threshold (0.1875*LaiCritical), the daily increase of LAI (GLAI) is governed by the early rate of growth of green leaves (RGRL) according to the equation

\[ \begin{eqnarray} GLAI & = & LAI \cdot (e^{RGRL \cdot DTEFF)}-1) \cdot TRANRF \cdot e^{-LaiNStressReduction(1-NNI)} \end{eqnarray} \]

where DTEFF is the effective temperature rate before anthesis (°C d-1) as calculated by the weather transformer. In this early stage, both water stress (TRANRF) as well as nitrogen deficiency (NNI) reduce growth rate of LAI.

The output variables GTOTAL and GLAI are important input variables to the SimComponents LintulPartitioning.java and EvapTranDemand.java

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. Shibu, M. E., P. A. Leffelaar, H. van Keulen, and P. K. Aggarwal. 2010. LINTUL3, a simulation model for nitrogen-limited situations: Application to rice. European Journal of Agronomy 32:255-271.

Author:
Gunther Krauss, Andreas Enders, Thomas Gaiser Stati:

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcDevStageRGRLDevelopment stage of the crop up to which the growth rate of LAI is calculated based on the constant, user defined rate RGRLDOUBLE10.02.00.3
constantcGrainToRootsDailyBiomassDaily biomass, that is supplied from the seeds to the roots after emergencyDOUBLEg/m20.010.00.2
constantcGrainToRootsDevStageDevStage after emergence up to which root biomass is supplied by the seedDOUBLE10.02.00.0
constantcKExtinction coefficient for photosynthetically active radiationDOUBLE10.01.00.6
constantcLAIIInitial LAIDOUBLEm2/m20.00.10.012
constantcLaiCriticalCritical LAI beyond which leaves die due to self-shadingDOUBLEm2/m20.06.04.0
constantcLaiNStressReductionN Stress effect on LAI growth rateDOUBLE10.01.01.0
constantcLueNStressReductionN Stress effect on LUEDOUBLE10.01.01.0
constantcRDRLmax. rel. death rate of leaves due to water stressDOUBLE10.01.00.05
constantcRDRLeavesTableMeanTemperatureDaily mean temperature for relative death rate of leaves (c.f. RDRT)DOUBLEARRAY°C---
constantcRDRLeavesTableRelativeRateRelative death rate of leaves as a function of daily mean temperature (c.f. RDRT)DOUBLEARRAYd-1---
constantcRDRNSmax. relative death rate of leaves due to N stressDOUBLE10.01.00.05
constantcRDRSHMMaximum relative death rate of leaves due to shadingDOUBLE10.01.00.05
constantcRDRTTable of development specific leaves death ratesDOUBLEARRAY1---
constantcRGRLRelative growth rate of LAI during exponential growthDOUBLE10.01.00.05
constantcRelativeDayOfEmergenceDays between sowing and start of LAI development/plant growthINTd036612
constantcSLASpecific Leaf AreaDOUBLEm2/g0.020.00.2
constantcSlaNStressReductionN Stress effect on Specific Leaf AreaDOUBLE10.01.01.0
inputiAirTemperatureMeanMeasured daily average air temperature (input calculated from weather file)DOUBLE°C-50.060.00.0
inputiCropAvailWaterContentCrop available water content in the soilDOUBLEmm0.020.01.0E-4
inputiDevStageDevelopment stage of the plant (1.0=anthesis, 2.0=physiological maturityDOUBLE10.03.00.0
inputiDoGrazeIf the AboveGroundBiomass that is grazed or cut on enduring plantsBOOLEAN1--false
inputiDoHarvestFlag to specify the day of harvestBOOLEAN1--false
inputiDoSowFlag to specify the day of sowingtBOOLEAN1--false
inputiEffectiveTempRateAfterAntDaily effective temperature after anthesisDOUBLE°C0.040.00.0
inputiEffectiveTempRateBeforeAntDaily effective temperature before anthesisDOUBLE°C0.040.00.0
inputiLUELight Use EfficiencyDOUBLEg/MJ0.010.03.0
inputiLeaveSenescenceHeatStressFactorFactor that increases leaf senescence due to heat stressDOUBLE10.0-1.0
inputiNitrogenNutritionIndexNitrogen Nutrition Index is the ratio between actual crop N concentration and critical N concentration (half of optimum N concentration which depends on crop and development stage)DOUBLE10.01.01.0
inputiPartLeavesFactorProportion of daily total biomass increase partitioned to the leaves (input from LintulPartitioning.java)DOUBLE10.01.00.0
inputiPartRootFactorProportion of daily total biomass increase partitioned to the roots (input from LintulPartitioning.java)DOUBLE10.01.00.0
inputiPartStemsFactorProportion of daily total biomass increase partitioned to the stem (input from LintulPartitioning.java)DOUBLE10.01.00.0
inputiPartStorageOrgansFactorProportion of daily total biomass increase partitioned to the storage organs (input from LintulPartitioning.java)DOUBLE10.01.00.0
inputiRadiationDaily global radiation (input from weather file)DOUBLEMJ/m20.030.00.0
inputiTRANRFTranspiration reduction factor (TRANRF) as ratio between actual and potential crop transpirationDOUBLE10.01.01.0
inputiUnusedRootBiomassRoot Biomass which was not used by roots due to root growth limitations (is returned to biomass growth rate of the next day)DOUBLEg/(m2 d)0.020000.00.0
statesDaysSinceSowingDays since SowingINTd010000
statesLAILeaf area indexDOUBLEm2/m20.020.00.0
statesWLVBiomass of leavesDOUBLEg/m20.02000.00.0
statesWLVDBiomass of dead leavesDOUBLEg/m20.02000.00.0
statesWLVGBiomass of green leavesDOUBLEg/m20.02000.00.0
statesWRTBiomass of RootsDOUBLEg/m20.02000.00.0
statesWSOBiomass of Storage OrgansDOUBLEg/m20.02000.00.0
statesWSTBiomass of stemsDOUBLEg/m20.02000.00.0
raterDLAIRate of change of Leaf area indexDOUBLEm2/m2-10.010.00.0
raterDeadLeavesRate of dead leavesDOUBLEg/(m2 d)-200.0200.00.0
raterDeadStemsRate of dead stemsDOUBLEg/(m2 d)-200.0200.00.0
raterRWLVGRate of change in weight of green leavesDOUBLEg/(m2 d)-200.0200.00.0
raterRWRTRate of change in weight of rootsDOUBLEg/(m2 d)-200.0200.00.0
outAboveGroundBiomassSum of Biomass fractions above groundDOUBLEg/m20.010000.00.0
outGTOTALGrowth rate of total crop dry matterDOUBLEg/(m2 d)--0.0
outGrazeBiomassBiomass which was taken by grazing that dayDOUBLEg/(m2 d)0.020000.00.0
outPARINTIntercepted photosynthetically active radiationDOUBLEMJ/(m2 d)0.030.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()
    LintulBiomass(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)
     
    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

    • LintulBiomass

      public LintulBiomass(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 -
    • LintulBiomass

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