Klasse AMPSomAuxiliary

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

public class AMPSomAuxiliary extends net.simplace.sim.model.FWSimComponent
Auxiliary component that acts as a bridge between AMPSom and other SimComponents like SlimRoots, SlimWater and SoilCN

The component provides to AMPSom

  • root exudates per layer
  • vertical flow of dissolved organic matter (DOM)
  • C and N from litter that enters the dissolved and particle organic matter pools in upper layers

by using

  • daily increment of root biomass from Biomass component (e.g. Lintul5)
  • root weight per layer from a root model (e.g. SlimRoots)
  • water content and percolating water from a soil water model (e.g. SlimWater, Hillflow1D)
  • daily change rates of metabolic an lignocellulotic and cellulotic C and N of the litter from a litter decomposition model (e.g. SoilCN)

Root Exudates

Root exudates are calculated as a fraction of the daily root biomass increment. C and N content of exudates are calculated by ratios provided by the user. The exudates are distributed to the layers proportionally to the root biomass per layer.

\[ ExudatesPerLayer_i = iRWRT \cdot cExudateFraction \cdot \frac{iRootBiomassPerLayer_i}{\sum_{j=n}^{NL} iRootBiomassPerLayer_j}\\ ExudatesCPerLayer_i = \frac{ExudatesPerLayer_i }{cBMCRatio} \\ ExudatesNPerLayer_i = \frac{ExudatesCPerLayer_i}{cCNRatio} \]

C and N from Litter

The inputs from SoilCN are converted from kg/ha to g/m^2 and assigned to the different litter pools

  • CDomRateFromLitter = iSoilCNExtract1 + iSoilCNExtract2
  • NDomRateFromLitter = iSoilCNLmtsu
  • CPomRateFromLitter = iSoilCNCellose1 + iSoilCNCellose2 + iSoilCNLigncellose2 + iSoilCNLigncellose3
  • NPomRateFromLitter = iSoilCNLstsu + Llisu

Vertical movement of dissolved organic matter

There is a simplistic approach to calculate the vertical movement of dissolved organic matter from a layer to the adjacent ones. It considers the concentration in a layer and the water that moves in / out from that layer. Positive water flow values mean that water is flowing from a layer to its lower neighbour. Negative water flow means that water from the lower neighbour is flowing into the layer.

Concentrations per layer are calculated from previous day's water and dissolved organic matter content. Then the concentration is multiplied with the vertical water change rates and the amount is added / subtracted to/from the layer the water flows in / out.

With higher amount of rainfall, there will be more water flowing from one layer to the next one than the capacity of the layer. This may wash out the dissolved C and N completely. However, the user can set the cVerticalFlowFraction to limit the amount of dissolved organic matter that goes from one layer to the next.

Autor:
Gunther Krauss

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcBMCRatioRatio of biomass to CDOUBLE1--2.0
constantcCNRatioRatio of C to NDOUBLE1--15.0
constantcExudateFractionFraction of daily root biomass increment that is exudatedDOUBLE1--0.0
constantcVerticalFlowFractionFraction of dissolved organic matters that leaves with percolating waterDOUBLE1--1.0
inputiC12ConcentrationBottomLayerDissolved C12 concentration of bottom layerDOUBLEg/l---
inputiC12DomC12 dissolved organic matter poolDOUBLEARRAYg/m2---
inputiC12DomInflowC12 inflow with precipitationDOUBLEg/(m2 d)---
inputiC14ConcentrationBottomLayerDissolved C14 concentration of bottom layerDOUBLEg/l---
inputiC14DomC14 dissolved organic matter poolDOUBLEARRAYg/m2---
inputiC14DomInflowC14 inflow with precipitationDOUBLEg/(m2 d)---
inputiNConcentrationBottomLayerDissolved organic N concentration of bottom layerDOUBLEg/l---
inputiNDomN dissolved organic matter poolDOUBLEARRAYg/m2---
inputiNDomInflowOrganic N inflow with precipitationDOUBLEg/(m2 d)---
inputiPercolatingWaterPerLayerPercolating water per layerDOUBLEARRAYmm/d---
inputiRWRTDaily increment of root biomassDOUBLEg/(m2 d)---
inputiResidualWaterContentPerLayerResidual water content per layerDOUBLEARRAYmm---
inputiRootBiomassPerLayerRoot biomass per layerDOUBLEARRAYg/m2---
inputiSoilCNCellose1C flow from surface cellulose pool to microbial biomassDOUBLEkg/(ha d)-2000.02000.00.0
inputiSoilCNCellose2C flow from surface cellulose pool to microbial biomassDOUBLEkg/(ha d)-2000.02000.00.0
inputiSoilCNExtract1Flows of carbon from metabolic pools to active poolsDOUBLEkg/(ha d)-2000.02000.00.0
inputiSoilCNExtract2Flows of carbon from metabolic pools to active poolsDOUBLEkg/(ha d)-2000.02000.00.0
inputiSoilCNLigncellose2C flow from surface lignocellulosic pool to microbial biomassDOUBLEkg/(ha d)-2000.02000.00.0
inputiSoilCNLigncellose3C flow from surface lignocellulosic pool to microbial biomassDOUBLEkg/(ha d)-2000.02000.00.0
inputiSoilCNLlisuNet efflux of nitrogen from structural ligno-cellulose (leafDOUBLEkg/(ha d)-20.020.00.0
inputiSoilCNLmtsuNet efflux of nitrogen from metabolic surfaceDOUBLEkg/(ha d)-20.020.00.0
inputiSoilCNLstsuNet efflux of nitrogen from structural cellulose (leaf and faecesDOUBLEkg/(ha d)--0.0
inputiTotalWaterContentPerLayerTotal water content per layerDOUBLEARRAYmm---
outC12DomFlowPerLayerVertical movement of dissolved C12DOUBLEARRAYg/(m2 d)---
outC14DomFlowPerLayerVertical movement of dissolved C14DOUBLEARRAYg/(m2 d)---
outCDomRateFromLitterC from litter that enters DOM pools in upper layersDOUBLEg/(m2 d)--0.0
outCPomRateFromLitterC from litter that enters POM pools in upper layersDOUBLEg/(m2 d)--0.0
outExudatesCPerLayerroot exudate C per layerDOUBLEARRAYg/(m2 d)---
outExudatesNPerLayerroot exudate N per layerDOUBLEARRAYg/(m2 d)---
outExudatesPerLayerroot exudate biomass per layerDOUBLEARRAYg/(m2 d)---
outNDomFlowPerLayerVertical movement of dissolved organic NDOUBLEARRAYg/(m2 d)---
outNDomRateFromLitterN from litter that enters DOM pools in upper layersDOUBLEg/(m2 d)--0.0
outNPomRateFromLitterN from litter that enters POM pools in upper layersDOUBLEg/(m2 d)--0.0
  • Verschachtelte Klassen - Übersicht

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

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

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    protected final double
     

    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()
    AMPSomAuxiliary(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)
     
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    protected net.simplace.sim.model.FWSimComponent
    clone(net.simplace.sim.util.FWSimVarMap aVarMap)
    creates a clone from this SimComponent for use in other threads
    HashMap<String,net.simplace.sim.util.FWSimVariable<?>>
     
    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
     
    protected void
     

    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
  • Felddetails

  • Konstruktordetails

    • AMPSomAuxiliary

      public AMPSomAuxiliary(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)
      Parameter:
      aName -
      aFieldMap -
      aInputMap -
      aSimComponentElement -
      aVarMap -
      aOrderNumber -
    • AMPSomAuxiliary

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

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Angegeben von:
      createVariables in Schnittstelle net.simplace.sim.util.FWSimFieldContainer
      Angegeben von:
      createVariables in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • FWSimComponent.createVariables()
    • init

      protected void init()
      Angegeben von:
      init in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • FWSimComponent.init()
    • process

      protected void process()
      Angegeben von:
      process in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • 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)
      creates a clone from this SimComponent for use in other threads
      Angegeben von:
      clone in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)