Class N2OPotentialFromOrganicMatter
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
Calculation
Potential denitrification rate is calculated from interpolation table defined by cDenitrificationTableOrganicCarbon and cDenitrificationTablePotentialRate.
When using the default values , the potential rate increases linearly from 1 mg/(kg d) at 1% organic carbon to 20 mg/(kg d) at 6% organic carbon.
The potential nitrification rate is calculated for each layer up to the cDenitrificationSoilDepth, converted to g / (m^2 d) by multiplying with layer thickness and bulk density of layer and then summed up. The final output is the PotentialDenitrificationRate in g / (m^2 d).
Usage
The output PotentialDenitrificationRate can be linked to the SimCoponents NPKDemandSlimNP or NPKDemandSlimNitrogen parameter cPotentialDenitrificationRate.
Important notice
It's important to have accurate organic carbon values for the layers that are within the denitrification depth. If the initial thickness of layers is considerably bigger than the denitrification depth, then the organic carbon in the denitrification area might be higher than the value in the whole layer, as it might be distributed heterogeneously.
References
Joël Léonard. Nitrification, denitrification and N2O emissions in STICS. 2016. hal-02305546 https://hal.science/hal-02305546/document
- Author:
- Gunther Krauss, guntherkrauss@uni-bonn.de
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cBulkDensity | Bulk density per layer | DOUBLEARRAY | g/cm3 | - | - | - |
constant | cDenitrificationSoilDepth | Maximum depth of denitrification | DOUBLE | m | 0.0 | 3.0 | 0.2 |
constant | cDenitrificationTableOrganicCarbon | OrganicCarbon table to determine potential denitrification rate | DOUBLEARRAY | % | - | - | 1.0 6.0 |
constant | cDenitrificationTablePotentialRate | Potential denitrification rates as function of OrganicCarbon [cDenitrificationTableOrganicCarbon] | DOUBLEARRAY | mg/kg | - | - | 1.0 20.0 |
constant | cOrganicCarbon | Soil organic carbon percentage per layer | DOUBLEARRAY | % | - | - | - |
constant | cSoilLayerDepth | Depth of lower layer boundary for each layer | DOUBLEARRAY | m | - | - | - |
out | PotentialDenitrificationRate | Maximum denitrification rate at 20°C | DOUBLE | g m-2 day-1 | 0.0 | 100.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
-
N2OPotentialFromOrganicMatter
public N2OPotentialFromOrganicMatter()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:
-
net.simplace.simulation.model.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:
-
net.simplace.simulation.model.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:
-
net.simplace.simulation.model.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:
-
net.simplace.simulation.model.FWSimComponent#clone(net.simplace.simulation.util.FWSimVarMap)
-