Klasse N2OPotentialFromOrganicMatter

java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.experimental.n2o.N2OPotentialFromOrganicMatter
Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer

public class N2OPotentialFromOrganicMatter extends net.simplace.sim.model.FWSimComponent
Calculates potential denitrification rate from soil organic carbon content

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

Autor:
Gunther Krauss, guntherkrauss@uni-bonn.de

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcBulkDensityBulk density per layerDOUBLEARRAYg/cm3---
constantcDenitrificationSoilDepthMaximum depth of denitrificationDOUBLEm0.03.00.2
constantcDenitrificationTableOrganicCarbonOrganicCarbon table to determine potential denitrification rateDOUBLEARRAY%-- 1.0 6.0
constantcDenitrificationTablePotentialRatePotential denitrification rates as function of OrganicCarbon [cDenitrificationTableOrganicCarbon]DOUBLEARRAYmg/kg-- 1.0 20.0
constantcOrganicCarbonSoil organic carbon percentage per layerDOUBLEARRAY%---
constantcSoilLayerDepthDepth of lower layer boundary for each layerDOUBLEARRAYm---
outPotentialDenitrificationRateMaximum denitrification rate at 20°CDOUBLEg m-2 day-10.0100.00.0
  • Verschachtelte Klassen - Übersicht

    Von Klasse geerbte verschachtelte Klassen/Schnittstellen net.simplace.sim.model.FWSimComponent

    net.simplace.sim.model.FWSimComponent.TEST_STATE
  • Feldübersicht

    Von Klasse geerbte Felder net.simplace.sim.model.FWSimComponent

    iFieldMap, iFrequence, iInputMap, iJexlRule, iMasterComponentGroup, iName, iOrderNumber, isComponentGroup, iSimComponentElement, iSimModel, iVarMap
  • Konstruktorübersicht

    Konstruktoren
    Konstruktor
    Beschreibung
    Empty constructor used by class.forName()
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    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

    Von Klasse geerbte Methoden 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

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Konstruktordetails

    • N2OPotentialFromOrganicMatter

      public N2OPotentialFromOrganicMatter()
      Empty constructor used by class.forName()
  • Methodendetails

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Create the FWSimVariables as interface for this SimComponent
      Angegeben von:
      createVariables in Schnittstelle net.simplace.sim.util.FWSimFieldContainer
      Angegeben von:
      createVariables in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        net.simplace.simulation.model.FWSimComponent#createVariables()
    • init

      protected void init()
      Initializes the fields by getting input and output FWSimVariables from VarMap
      Angegeben von:
      init in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        net.simplace.simulation.model.FWSimComponent#init()
    • process

      protected void process()
      Process the algorithm and write the results back to VarMap
      Angegeben von:
      process in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        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.
      Angegeben von:
      fillTestVariables in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        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)
      Angegeben von:
      clone in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        net.simplace.simulation.model.FWSimComponent#clone(net.simplace.simulation.util.FWSimVarMap)