java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.experimental.cropresidues.CropResidues
All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer

public class CropResidues extends net.simplace.sim.model.FWSimComponent
Adds living biomass to dead biomass rates when plant dies or is partially harvested Adds leaves and/or stems to storage organs for yield if provided

The component takes daily dead plant biomass (leaves, stems, storage organs, roots) and adds actual living biomass (green leaves, stems, storage organs, roots) to the rates when plant is killed or when parts of the plant are not removed on harvest (by default the roots).

There the dead above ground biomass rate is calculated additionally by summing up daily dead leaves rates, dead stems rates and dead storage organs rate.

Dead of plant or harvest is controlled by the two boolean inputs iDoKillPlant and iDoHarvest.

cRemoveLeavesOnHarvest, cRemoveStemsOnHarvest, ... determine, whether the coresponding biomass should be added to the dead biomass rate when harvest occurs. By default they are true for the above ground parts and false for the roots.

cHarvestLeaves and HarvestStems determine, whether the coresponding biomass should be added to the yield.

When cKeepDeadStemsOnFieldUntilHarvest is set to true, then the dead stems biomass is accumulated and will be outputted only on harvest.

Additionally to the biomass states and rates, the component takes NPK states and rates as inputs and outputs them according to the biomass outputs.

Dead roots NPK is output as the total over all layers as well as per layer (proportional to the biomass per layer).

Notice

The component should normally run before the biomass and plant NPK component.

In order to keep the model synchronised when using iDoKillPlant, the output DoRemovePlant should be linked to other modules' iDoHarvest input, to force these modules to reset.

Author:
Gunther Krauss, gk@uni-bonn.de
See Also:

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcAddResiduesToYieldIf true, then harvested part of stems and leaves are feeded to residues output.BOOLEAN--false
constantcHarvestDeadLeavesFractionIf 1 all dead leaves will be harvested, too. If 0 Dead leaves go to litter (default)DOUBLE0.01.00.0
constantcHarvestDeadStemsFractionIf 1 all dead stems will be harvested, too. If 0 Dead stems go to litter (default)DOUBLE0.01.00.0
constantcKeepDeadAGBOnFieldUntilHarvestIf true, then dead stems are accumulated and released only on harvest.BOOLEAN--false
constantcRemoveAGBOnGrazingFractionIf 1 all AGB is added to dead biomass or residues, lower values limit the remove fractionsDOUBLE0.01.01.0
constantcRemoveLeavesOnHarvestFractionIf 0, then leaves biomass is added to dead leaves on harvestDOUBLE0.01.00.0
constantcRemoveRootsOnHarvestIf false, then roots biomass is added to dead roots on harvestBOOLEAN--false
constantcRemoveStemsOnHarvestFractionIf 0, then stems biomass is added to dead stems on harvestDOUBLE0.01.00.0
constantcRemoveStorageOrgansOnHarvestIf false, then storage organs biomass is added to dead above ground biomass BOOLEAN--true
inputiDeadLeavesKRateDaily rate of dead leaves KDOUBLEg/(m2 d)--0.0
inputiDeadLeavesNRateDaily rate of dead leaves NDOUBLEg/(m2 d)--0.0
inputiDeadLeavesPRateDaily rate of dead leaves PDOUBLEg/(m2 d)--0.0
inputiDeadLeavesRateDaily rate of dead leavesDOUBLEg/(m2 d)--0.0
inputiDeadRootsKRateDaily rate of dead roots KDOUBLEg/(m2 d)--0.0
inputiDeadRootsNRateDaily rate of dead roots NDOUBLEg/(m2 d)--0.0
inputiDeadRootsPRateDaily rate of dead roots PDOUBLEg/(m2 d)--0.0
inputiDeadRootsRateDaily rate of dead rootsDOUBLEg/(m2 d)--0.0
inputiDeadRootsRatePerLayerDaily rate of dead roots per layerDOUBLEARRAYg/(m2 d)---
inputiDeadStemsKRateDaily rate of dead stems KDOUBLEg/(m2 d)--0.0
inputiDeadStemsNRateDaily rate of dead stems NDOUBLEg/(m2 d)--0.0
inputiDeadStemsPRateDaily rate of dead stems PDOUBLEg/(m2 d)--0.0
inputiDeadStemsRateDaily rate of dead stemsDOUBLEg/(m2 d)--0.0
inputiDeadStorageOrgansKRateDaily rate of dead storage organs K (normally 0)DOUBLEg/(m2 d)--0.0
inputiDeadStorageOrgansNRateDaily rate of dead storage organs N (normally 0)DOUBLEg/(m2 d)--0.0
inputiDeadStorageOrgansPRateDaily rate of dead storage organs P (normally 0)DOUBLEg/(m2 d)--0.0
inputiDeadStorageOrgansRateDaily rate of dead storage organs (normally 0)DOUBLEg/(m2 d)--0.0
inputiDoGrazeIf true, living biomass that is not removed is added to the dead biomass rateBOOLEAN--false
inputiDoHarvestIf true, living biomass that is not removed is added to the dead biomass rateBOOLEAN--false
inputiDoKillPlantIf true, living biomass is added to the dead biomass rateBOOLEAN--false
inputiWLVGWeight of green leavesDOUBLEg/m2--0.0
inputiWLVGKWeight of green leaves KDOUBLEg/m2--0.0
inputiWLVGNWeight of green leaves NDOUBLEg/m2--0.0
inputiWLVGPWeight of green leaves PDOUBLEg/m2--0.0
inputiWRTWeight of rootsDOUBLEg/m2--0.0
inputiWRTKWeight of roots KDOUBLEg/m2--0.0
inputiWRTNWeight of roots NDOUBLEg/m2--0.0
inputiWRTPWeight of roots PDOUBLEg/m2--0.0
inputiWRTPerLayerWeight of roots per layerDOUBLEARRAYg/m2---
inputiWSOWeight of storage organsDOUBLEg/m2--0.0
inputiWSOKWeight of storage organs KDOUBLEg/m2--0.0
inputiWSONWeight of storage organs NDOUBLEg/m2--0.0
inputiWSOPWeight of storage organs PDOUBLEg/m2--0.0
inputiWSTWeight of stemsDOUBLEg/m2--0.0
inputiWSTKWeight of stems KDOUBLEg/m2--0.0
inputiWSTNWeight of stems NDOUBLEg/m2--0.0
inputiWSTPWeight of stems PDOUBLEg/m2--0.0
outDeadAboveGroundBiomassKRateDaily dead above ground biomass K rate, sum of daily dead leaves rate, dead stems rate and dead storage organs rateDOUBLEg/(m2 d)--0.0
outDeadAboveGroundBiomassNRateDaily dead above ground biomass N rate, sum of daily dead leaves rate, dead stems rate and dead storage organs rateDOUBLEg/(m2 d)--0.0
outDeadAboveGroundBiomassPRateDaily dead above ground biomass P rate, sum of daily dead leaves rate, dead stems rate and dead storage organs rateDOUBLEg/(m2 d)--0.0
outDeadAboveGroundBiomassRateDaily dead above ground biomass, sum of daily dead leaves rate, dead stems rate and dead storage organs rateDOUBLEg/(m2 d)--0.0
outDeadLeavesKOnFieldK of dead stems that stay on field until harvestDOUBLEg/m2--0.0
outDeadLeavesKRateDaily dead leaves K rate, possibly incremented by green leaves when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadLeavesNOnFieldN of dead stems that stay on field until harvestDOUBLEg/m2--0.0
outDeadLeavesNRateDaily dead leaves N rate, possibly incremented by green leaves when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadLeavesOnFieldDead stems that stay on field until harvestDOUBLEg/m2--0.0
outDeadLeavesPOnFieldP of dead stems that stay on field until harvestDOUBLEg/m2--0.0
outDeadLeavesPRateDaily dead leaves P rate, possibly incremented by green leaves when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadLeavesRateDaily dead leaves rate, possibly incremented by green leaves when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadRootsKRateDaily dead roots K rate, possibly incremented by roots when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadRootsKRatePerLayerDaily dead roots K rate per layer, possibly incremented by roots when plant is killed or harvestedDOUBLEARRAYg/(m2 d)---
outDeadRootsNRateDaily dead roots N rate, possibly incremented by roots when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadRootsNRatePerLayerDaily dead roots N rate per layer, possibly incremented by roots when plant is killed or harvestedDOUBLEARRAYg/(m2 d)---
outDeadRootsPRateDaily dead roots P rate, possibly incremented by roots when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadRootsPRatePerLayerDaily dead roots P rate per layer, possibly incremented by roots when plant is killed or harvestedDOUBLEARRAYg/(m2 d)---
outDeadRootsRateDaily dead roots rate, possibly incremented by roots when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadRootsRatePerLayerDaily dead roots rate per layer, possibly incremented by roots when plant is killed or harvestedDOUBLEARRAYg/(m2 d)---
outDeadStemsKOnFieldK of dead stems that stay on field until harvestDOUBLEg/m2--0.0
outDeadStemsKRateDaily dead stems K rate, possibly incremented by stems when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadStemsNOnFieldN of dead stems that stay on field until harvestDOUBLEg/m2--0.0
outDeadStemsNRateDaily dead stems N rate, possibly incremented by stems when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadStemsOnFieldDead stems that stay on field until harvestDOUBLEg/m2--0.0
outDeadStemsPOnFieldP of dead stems that stay on field until harvestDOUBLEg/m2--0.0
outDeadStemsPRateDaily dead stems P rate, possibly incremented by stems when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadStemsRateDaily dead stems rate, possibly incremented by stems when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadStorageOrgansKRateDaily dead storage organs K rate, possibly incremented by storage organs when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadStorageOrgansNRateDaily dead storage organs N rate, possibly incremented by storage organs when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadStorageOrgansPRateDaily dead storage organs P rate, possibly incremented by storage organs when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDeadStorageOrgansRateDaily dead storage organs rate, possibly incremented by storage organs when plant is killed or harvestedDOUBLEg/(m2 d)--0.0
outDoRemovePlantTrue if Doharvest is true or DoKillPlant is trueBOOLEAN--false
outResiduesWeight of residues organsDOUBLEg/m2--0.0
outResiduesKWeight of Residues organs KDOUBLEg/m2--0.0
outResiduesNWeight of Residues organs NDOUBLEg/m2--0.0
outResiduesPWeight of Residues organs PDOUBLEg/m2--0.0
outYieldWeight of yield organsDOUBLEg/m2--0.0
outYieldKWeight of yield organs KDOUBLEg/m2--0.0
outYieldNWeight of yield organs NDOUBLEg/m2--0.0
outYieldPWeight of yield organs PDOUBLEg/m2--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

    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

    • CropResidues

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