Class CropResidues
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
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 Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cAddResiduesToYield | If true, then harvested part of stems and leaves are feeded to residues output. | BOOLEAN | - | - | false | |
constant | cHarvestDeadLeavesFraction | If 1 all dead leaves will be harvested, too. If 0 Dead leaves go to litter (default) | DOUBLE | 0.0 | 1.0 | 0.0 | |
constant | cHarvestDeadStemsFraction | If 1 all dead stems will be harvested, too. If 0 Dead stems go to litter (default) | DOUBLE | 0.0 | 1.0 | 0.0 | |
constant | cKeepDeadAGBOnFieldUntilHarvest | If true, then dead stems are accumulated and released only on harvest. | BOOLEAN | - | - | false | |
constant | cRemoveAGBOnGrazingFraction | If 1 all AGB is added to dead biomass or residues, lower values limit the remove fractions | DOUBLE | 0.0 | 1.0 | 1.0 | |
constant | cRemoveLeavesOnHarvestFraction | If 0, then leaves biomass is added to dead leaves on harvest | DOUBLE | 0.0 | 1.0 | 0.0 | |
constant | cRemoveRootsOnHarvest | If false, then roots biomass is added to dead roots on harvest | BOOLEAN | - | - | false | |
constant | cRemoveStemsOnHarvestFraction | If 0, then stems biomass is added to dead stems on harvest | DOUBLE | 0.0 | 1.0 | 0.0 | |
constant | cRemoveStorageOrgansOnHarvest | If false, then storage organs biomass is added to dead above ground biomass | BOOLEAN | - | - | true | |
input | iDeadLeavesKRate | Daily rate of dead leaves K | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadLeavesNRate | Daily rate of dead leaves N | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadLeavesPRate | Daily rate of dead leaves P | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadLeavesRate | Daily rate of dead leaves | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadRootsKRate | Daily rate of dead roots K | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadRootsNRate | Daily rate of dead roots N | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadRootsPRate | Daily rate of dead roots P | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadRootsRate | Daily rate of dead roots | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadRootsRatePerLayer | Daily rate of dead roots per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
input | iDeadStemsKRate | Daily rate of dead stems K | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadStemsNRate | Daily rate of dead stems N | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadStemsPRate | Daily rate of dead stems P | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadStemsRate | Daily rate of dead stems | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadStorageOrgansKRate | Daily rate of dead storage organs K (normally 0) | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadStorageOrgansNRate | Daily rate of dead storage organs N (normally 0) | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadStorageOrgansPRate | Daily rate of dead storage organs P (normally 0) | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDeadStorageOrgansRate | Daily rate of dead storage organs (normally 0) | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iDoGraze | If true, living biomass that is not removed is added to the dead biomass rate | BOOLEAN | - | - | false | |
input | iDoHarvest | If true, living biomass that is not removed is added to the dead biomass rate | BOOLEAN | - | - | false | |
input | iDoKillPlant | If true, living biomass is added to the dead biomass rate | BOOLEAN | - | - | false | |
input | iWLVG | Weight of green leaves | DOUBLE | g/m2 | - | - | 0.0 |
input | iWLVGK | Weight of green leaves K | DOUBLE | g/m2 | - | - | 0.0 |
input | iWLVGN | Weight of green leaves N | DOUBLE | g/m2 | - | - | 0.0 |
input | iWLVGP | Weight of green leaves P | DOUBLE | g/m2 | - | - | 0.0 |
input | iWRT | Weight of roots | DOUBLE | g/m2 | - | - | 0.0 |
input | iWRTK | Weight of roots K | DOUBLE | g/m2 | - | - | 0.0 |
input | iWRTN | Weight of roots N | DOUBLE | g/m2 | - | - | 0.0 |
input | iWRTP | Weight of roots P | DOUBLE | g/m2 | - | - | 0.0 |
input | iWRTPerLayer | Weight of roots per layer | DOUBLEARRAY | g/m2 | - | - | - |
input | iWSO | Weight of storage organs | DOUBLE | g/m2 | - | - | 0.0 |
input | iWSOK | Weight of storage organs K | DOUBLE | g/m2 | - | - | 0.0 |
input | iWSON | Weight of storage organs N | DOUBLE | g/m2 | - | - | 0.0 |
input | iWSOP | Weight of storage organs P | DOUBLE | g/m2 | - | - | 0.0 |
input | iWST | Weight of stems | DOUBLE | g/m2 | - | - | 0.0 |
input | iWSTK | Weight of stems K | DOUBLE | g/m2 | - | - | 0.0 |
input | iWSTN | Weight of stems N | DOUBLE | g/m2 | - | - | 0.0 |
input | iWSTP | Weight of stems P | DOUBLE | g/m2 | - | - | 0.0 |
out | DeadAboveGroundBiomassKRate | Daily dead above ground biomass K rate, sum of daily dead leaves rate, dead stems rate and dead storage organs rate | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadAboveGroundBiomassNRate | Daily dead above ground biomass N rate, sum of daily dead leaves rate, dead stems rate and dead storage organs rate | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadAboveGroundBiomassPRate | Daily dead above ground biomass P rate, sum of daily dead leaves rate, dead stems rate and dead storage organs rate | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadAboveGroundBiomassRate | Daily dead above ground biomass, sum of daily dead leaves rate, dead stems rate and dead storage organs rate | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadLeavesKOnField | K of dead stems that stay on field until harvest | DOUBLE | g/m2 | - | - | 0.0 |
out | DeadLeavesKRate | Daily dead leaves K rate, possibly incremented by green leaves when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadLeavesNOnField | N of dead stems that stay on field until harvest | DOUBLE | g/m2 | - | - | 0.0 |
out | DeadLeavesNRate | Daily dead leaves N rate, possibly incremented by green leaves when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadLeavesOnField | Dead stems that stay on field until harvest | DOUBLE | g/m2 | - | - | 0.0 |
out | DeadLeavesPOnField | P of dead stems that stay on field until harvest | DOUBLE | g/m2 | - | - | 0.0 |
out | DeadLeavesPRate | Daily dead leaves P rate, possibly incremented by green leaves when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadLeavesRate | Daily dead leaves rate, possibly incremented by green leaves when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadRootsKRate | Daily dead roots K rate, possibly incremented by roots when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadRootsKRatePerLayer | Daily dead roots K rate per layer, possibly incremented by roots when plant is killed or harvested | DOUBLEARRAY | g/(m2 d) | - | - | - |
out | DeadRootsNRate | Daily dead roots N rate, possibly incremented by roots when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadRootsNRatePerLayer | Daily dead roots N rate per layer, possibly incremented by roots when plant is killed or harvested | DOUBLEARRAY | g/(m2 d) | - | - | - |
out | DeadRootsPRate | Daily dead roots P rate, possibly incremented by roots when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadRootsPRatePerLayer | Daily dead roots P rate per layer, possibly incremented by roots when plant is killed or harvested | DOUBLEARRAY | g/(m2 d) | - | - | - |
out | DeadRootsRate | Daily dead roots rate, possibly incremented by roots when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadRootsRatePerLayer | Daily dead roots rate per layer, possibly incremented by roots when plant is killed or harvested | DOUBLEARRAY | g/(m2 d) | - | - | - |
out | DeadStemsKOnField | K of dead stems that stay on field until harvest | DOUBLE | g/m2 | - | - | 0.0 |
out | DeadStemsKRate | Daily dead stems K rate, possibly incremented by stems when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadStemsNOnField | N of dead stems that stay on field until harvest | DOUBLE | g/m2 | - | - | 0.0 |
out | DeadStemsNRate | Daily dead stems N rate, possibly incremented by stems when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadStemsOnField | Dead stems that stay on field until harvest | DOUBLE | g/m2 | - | - | 0.0 |
out | DeadStemsPOnField | P of dead stems that stay on field until harvest | DOUBLE | g/m2 | - | - | 0.0 |
out | DeadStemsPRate | Daily dead stems P rate, possibly incremented by stems when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadStemsRate | Daily dead stems rate, possibly incremented by stems when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadStorageOrgansKRate | Daily dead storage organs K rate, possibly incremented by storage organs when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadStorageOrgansNRate | Daily dead storage organs N rate, possibly incremented by storage organs when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadStorageOrgansPRate | Daily dead storage organs P rate, possibly incremented by storage organs when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DeadStorageOrgansRate | Daily dead storage organs rate, possibly incremented by storage organs when plant is killed or harvested | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | DoRemovePlant | True if Doharvest is true or DoKillPlant is true | BOOLEAN | - | - | false | |
out | Residues | Weight of residues organs | DOUBLE | g/m2 | - | - | 0.0 |
out | ResiduesK | Weight of Residues organs K | DOUBLE | g/m2 | - | - | 0.0 |
out | ResiduesN | Weight of Residues organs N | DOUBLE | g/m2 | - | - | 0.0 |
out | ResiduesP | Weight of Residues organs P | DOUBLE | g/m2 | - | - | 0.0 |
out | Yield | Weight of yield organs | DOUBLE | g/m2 | - | - | 0.0 |
out | YieldK | Weight of yield organs K | DOUBLE | g/m2 | - | - | 0.0 |
out | YieldN | Weight of yield organs N | DOUBLE | g/m2 | - | - | 0.0 |
out | YieldP | Weight of yield organs P | DOUBLE | g/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
-
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
-
CropResidues
public CropResidues()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)
-