Class Fertilizer
java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.management.Fertilizer
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
public class Fertilizer
extends net.simplace.sim.model.FWSimComponent
The purpose of this sim-component is to calculate the amount of major nutrients, e.g.,organic C, organic N, ammonium, phosphorus and potassium
released from applied solid manure.
-Stable Manure has to be applied as Double and at least one of its nutrient composition has to be provided as Double. -The input data can be recorded as amount of stable manure (g/m2) at certain DOY (e.g., 180) for a particular crop (e.g., Winter Wheat) -The constants such organic C, organic N, ammonium, phosphorus and potassium can be recorded as a separate .xml file in terms of concentration of these nutrients (g/g) within the applied solid manure
- Author:
- andreas and eeusha
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cAmmonium | concentration of Ammonium N in solid manure | DOUBLE | g/g | 0.0 | 1.0 | - |
constant | cNitrate | effective applications of nitrate N | DOUBLE | g/g | - | - | - |
constant | cNitrateAndAmmonium | effective applications of nitrate and ammonium N | DOUBLE | g/g | - | - | - |
constant | cOrganicC | concentration of organic C in solid manure | DOUBLE | g/g | 0.0 | 1.0 | - |
constant | cOrganicN | concentration of Fast and Slow fraction Organic N in solid manure | DOUBLE | g/g | 0.0 | 1.0 | - |
constant | cOrganicNFast | concentration of Fast fraction Organic N in solid manure | DOUBLE | g/g | 0.0 | 1.0 | - |
constant | cOrganicNSlow | concentration of Slow fraction Organic N in solid manure | DOUBLE | g/g | 0.0 | 1.0 | - |
constant | cOrganicP | concentration of Organic P in solid manure | DOUBLE | g/g | 0.0 | 1.0 | - |
constant | cPhosphorus | concentration of Phosphorus in solid manure | DOUBLE | g/g | 0.0 | 1.0 | - |
constant | cPotassium | concentration of Potassium in solid manure | DOUBLE | g/g | 0.0 | 1.0 | - |
input | iAmount | effective applications of fertilizer. For Liquid Manure take amount[g/m²] = manure[m3/ha] / 10000 * 1.025 as the density of liquid manure is between 1.02 and 1.03 | DOUBLE | g/m2 | - | - | - |
out | Ammonium | applied Ammonium N | DOUBLE | g/m2 | 0.0 | 1000.0 | 0.0 |
out | Nitrate | applied nitrate N | DOUBLE | g/m2 | 0.0 | 1000.0 | 0.0 |
out | NitrateAndAmmonium | applied nitrate and ammonium | DOUBLE | g/m2 | 0.0 | 1000.0 | 0.0 |
out | OrganicC | applied Organi C | DOUBLE | g/m2 | 0.0 | 1000.0 | 0.0 |
out | OrganicN | applied organic N complete | DOUBLE | g/m2 | 0.0 | 500.0 | 0.0 |
out | OrganicNFast | applied organic N Fast Fraction | DOUBLE | g/m2 | 0.0 | 500.0 | 0.0 |
out | OrganicNSlow | applied organic N Slow Fraction | DOUBLE | g/m2 | 0.0 | 500.0 | 0.0 |
out | OrganicP | applied organic P complete | DOUBLE | g/m2 | 0.0 | 500.0 | 0.0 |
out | Phosphorus | applied Phosphorus | DOUBLE | g/m2 | 0.0 | 1000.0 | 0.0 |
out | Potassium | applied Potassium | DOUBLE | g/m2 | 0.0 | 1000.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) creates a clone from this SimComponent for use in other threadsfillTestVariables
(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected void
init()
protected void
process()
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
-
Constructor Details
-
Fertilizer
public Fertilizer(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
-
-
Fertilizer
public Fertilizer()Empty constructor used by class.forName()
-
-
Method Details
-
createVariables
- 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()- Specified by:
init
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.init()
-
process
protected void process()- 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) creates a clone from this SimComponent for use in other threads- Specified by:
clone
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)
-