Class LintulBiomass
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
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 Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cDevStageRGRL | Development stage of the crop up to which the growth rate of LAI is calculated based on the constant, user defined rate RGRL | DOUBLE | 1 | 0.0 | 2.0 | 0.3 |
constant | cGrainToRootsDailyBiomass | Daily biomass, that is supplied from the seeds to the roots after emergency | DOUBLE | g/m2 | 0.0 | 10.0 | 0.2 |
constant | cGrainToRootsDevStage | DevStage after emergence up to which root biomass is supplied by the seed | DOUBLE | 1 | 0.0 | 2.0 | 0.0 |
constant | cK | Extinction coefficient for photosynthetically active radiation | DOUBLE | 1 | 0.0 | 1.0 | 0.6 |
constant | cLAII | Initial LAI | DOUBLE | m2/m2 | 0.0 | 0.1 | 0.012 |
constant | cLaiCritical | Critical LAI beyond which leaves die due to self-shading | DOUBLE | m2/m2 | 0.0 | 6.0 | 4.0 |
constant | cLaiNStressReduction | N Stress effect on LAI growth rate | DOUBLE | 1 | 0.0 | 1.0 | 1.0 |
constant | cLueNStressReduction | N Stress effect on LUE | DOUBLE | 1 | 0.0 | 1.0 | 1.0 |
constant | cRDRL | max. rel. death rate of leaves due to water stress | DOUBLE | 1 | 0.0 | 1.0 | 0.05 |
constant | cRDRLeavesTableMeanTemperature | Daily mean temperature for relative death rate of leaves (c.f. RDRT) | DOUBLEARRAY | °C | - | - | - |
constant | cRDRLeavesTableRelativeRate | Relative death rate of leaves as a function of daily mean temperature (c.f. RDRT) | DOUBLEARRAY | d-1 | - | - | - |
constant | cRDRNS | max. relative death rate of leaves due to N stress | DOUBLE | 1 | 0.0 | 1.0 | 0.05 |
constant | cRDRSHM | Maximum relative death rate of leaves due to shading | DOUBLE | 1 | 0.0 | 1.0 | 0.05 |
constant | cRDRT | Table of development specific leaves death rates | DOUBLEARRAY | 1 | - | - | - |
constant | cRGRL | Relative growth rate of LAI during exponential growth | DOUBLE | 1 | 0.0 | 1.0 | 0.05 |
constant | cRelativeDayOfEmergence | Days between sowing and start of LAI development/plant growth | INT | d | 0 | 366 | 12 |
constant | cSLA | Specific Leaf Area | DOUBLE | m2/g | 0.0 | 20.0 | 0.2 |
constant | cSlaNStressReduction | N Stress effect on Specific Leaf Area | DOUBLE | 1 | 0.0 | 1.0 | 1.0 |
input | iAirTemperatureMean | Measured daily average air temperature (input calculated from weather file) | DOUBLE | °C | -50.0 | 60.0 | 0.0 |
input | iCropAvailWaterContent | Crop available water content in the soil | DOUBLE | mm | 0.0 | 20.0 | 1.0E-4 |
input | iDevStage | Development stage of the plant (1.0=anthesis, 2.0=physiological maturity | DOUBLE | 1 | 0.0 | 3.0 | 0.0 |
input | iDoGraze | If the AboveGroundBiomass that is grazed or cut on enduring plants | BOOLEAN | 1 | - | - | false |
input | iDoHarvest | Flag to specify the day of harvest | BOOLEAN | 1 | - | - | false |
input | iDoSow | Flag to specify the day of sowingt | BOOLEAN | 1 | - | - | false |
input | iEffectiveTempRateAfterAnt | Daily effective temperature after anthesis | DOUBLE | °C | 0.0 | 40.0 | 0.0 |
input | iEffectiveTempRateBeforeAnt | Daily effective temperature before anthesis | DOUBLE | °C | 0.0 | 40.0 | 0.0 |
input | iLUE | Light Use Efficiency | DOUBLE | g/MJ | 0.0 | 10.0 | 3.0 |
input | iLeaveSenescenceHeatStressFactor | Factor that increases leaf senescence due to heat stress | DOUBLE | 1 | 0.0 | - | 1.0 |
input | iNitrogenNutritionIndex | Nitrogen 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) | DOUBLE | 1 | 0.0 | 1.0 | 1.0 |
input | iPartLeavesFactor | Proportion of daily total biomass increase partitioned to the leaves (input from LintulPartitioning.java) | DOUBLE | 1 | 0.0 | 1.0 | 0.0 |
input | iPartRootFactor | Proportion of daily total biomass increase partitioned to the roots (input from LintulPartitioning.java) | DOUBLE | 1 | 0.0 | 1.0 | 0.0 |
input | iPartStemsFactor | Proportion of daily total biomass increase partitioned to the stem (input from LintulPartitioning.java) | DOUBLE | 1 | 0.0 | 1.0 | 0.0 |
input | iPartStorageOrgansFactor | Proportion of daily total biomass increase partitioned to the storage organs (input from LintulPartitioning.java) | DOUBLE | 1 | 0.0 | 1.0 | 0.0 |
input | iRadiation | Daily global radiation (input from weather file) | DOUBLE | MJ/m2 | 0.0 | 30.0 | 0.0 |
input | iTRANRF | Transpiration reduction factor (TRANRF) as ratio between actual and potential crop transpiration | DOUBLE | 1 | 0.0 | 1.0 | 1.0 |
input | iUnusedRootBiomass | Root Biomass which was not used by roots due to root growth limitations (is returned to biomass growth rate of the next day) | DOUBLE | g/(m2 d) | 0.0 | 20000.0 | 0.0 |
state | sDaysSinceSowing | Days since Sowing | INT | d | 0 | 1000 | 0 |
state | sLAI | Leaf area index | DOUBLE | m2/m2 | 0.0 | 20.0 | 0.0 |
state | sWLV | Biomass of leaves | DOUBLE | g/m2 | 0.0 | 2000.0 | 0.0 |
state | sWLVD | Biomass of dead leaves | DOUBLE | g/m2 | 0.0 | 2000.0 | 0.0 |
state | sWLVG | Biomass of green leaves | DOUBLE | g/m2 | 0.0 | 2000.0 | 0.0 |
state | sWRT | Biomass of Roots | DOUBLE | g/m2 | 0.0 | 2000.0 | 0.0 |
state | sWSO | Biomass of Storage Organs | DOUBLE | g/m2 | 0.0 | 2000.0 | 0.0 |
state | sWST | Biomass of stems | DOUBLE | g/m2 | 0.0 | 2000.0 | 0.0 |
rate | rDLAI | Rate of change of Leaf area index | DOUBLE | m2/m2 | -10.0 | 10.0 | 0.0 |
rate | rDeadLeaves | Rate of dead leaves | DOUBLE | g/(m2 d) | -200.0 | 200.0 | 0.0 |
rate | rDeadStems | Rate of dead stems | DOUBLE | g/(m2 d) | -200.0 | 200.0 | 0.0 |
rate | rRWLVG | Rate of change in weight of green leaves | DOUBLE | g/(m2 d) | -200.0 | 200.0 | 0.0 |
rate | rRWRT | Rate of change in weight of roots | DOUBLE | g/(m2 d) | -200.0 | 200.0 | 0.0 |
out | AboveGroundBiomass | Sum of Biomass fractions above ground | DOUBLE | g/m2 | 0.0 | 10000.0 | 0.0 |
out | GTOTAL | Growth rate of total crop dry matter | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | GrazeBiomass | Biomass which was taken by grazing that day | DOUBLE | g/(m2 d) | 0.0 | 20000.0 | 0.0 |
out | PARINT | Intercepted photosynthetically active radiation | DOUBLE | MJ/(m2 d) | 0.0 | 30.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
-
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
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)
-