Class AMPSomAuxiliary
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
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.
- Author:
- Gunther Krauss
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cBMCRatio | Ratio of biomass to C | DOUBLE | 1 | - | - | 2.0 |
constant | cCNRatio | Ratio of C to N | DOUBLE | 1 | - | - | 15.0 |
constant | cExudateFraction | Fraction of daily root biomass increment that is exudated | DOUBLE | 1 | - | - | 0.0 |
constant | cVerticalFlowFraction | Fraction of dissolved organic matters that leaves with percolating water | DOUBLE | 1 | - | - | 1.0 |
input | iC12ConcentrationBottomLayer | Dissolved C12 concentration of bottom layer | DOUBLE | g/l | - | - | - |
input | iC12Dom | C12 dissolved organic matter pool | DOUBLEARRAY | g/m2 | - | - | - |
input | iC12DomInflow | C12 inflow with precipitation | DOUBLE | g/(m2 d) | - | - | - |
input | iC14ConcentrationBottomLayer | Dissolved C14 concentration of bottom layer | DOUBLE | g/l | - | - | - |
input | iC14Dom | C14 dissolved organic matter pool | DOUBLEARRAY | g/m2 | - | - | - |
input | iC14DomInflow | C14 inflow with precipitation | DOUBLE | g/(m2 d) | - | - | - |
input | iNConcentrationBottomLayer | Dissolved organic N concentration of bottom layer | DOUBLE | g/l | - | - | - |
input | iNDom | N dissolved organic matter pool | DOUBLEARRAY | g/m2 | - | - | - |
input | iNDomInflow | Organic N inflow with precipitation | DOUBLE | g/(m2 d) | - | - | - |
input | iPercolatingWaterPerLayer | Percolating water per layer | DOUBLEARRAY | mm/d | - | - | - |
input | iRWRT | Daily increment of root biomass | DOUBLE | g/(m2 d) | - | - | - |
input | iResidualWaterContentPerLayer | Residual water content per layer | DOUBLEARRAY | mm | - | - | - |
input | iRootBiomassPerLayer | Root biomass per layer | DOUBLEARRAY | g/m2 | - | - | - |
input | iSoilCNCellose1 | C flow from surface cellulose pool to microbial biomass | DOUBLE | kg/(ha d) | -2000.0 | 2000.0 | 0.0 |
input | iSoilCNCellose2 | C flow from surface cellulose pool to microbial biomass | DOUBLE | kg/(ha d) | -2000.0 | 2000.0 | 0.0 |
input | iSoilCNExtract1 | Flows of carbon from metabolic pools to active pools | DOUBLE | kg/(ha d) | -2000.0 | 2000.0 | 0.0 |
input | iSoilCNExtract2 | Flows of carbon from metabolic pools to active pools | DOUBLE | kg/(ha d) | -2000.0 | 2000.0 | 0.0 |
input | iSoilCNLigncellose2 | C flow from surface lignocellulosic pool to microbial biomass | DOUBLE | kg/(ha d) | -2000.0 | 2000.0 | 0.0 |
input | iSoilCNLigncellose3 | C flow from surface lignocellulosic pool to microbial biomass | DOUBLE | kg/(ha d) | -2000.0 | 2000.0 | 0.0 |
input | iSoilCNLlisu | Net efflux of nitrogen from structural ligno-cellulose (leaf | DOUBLE | kg/(ha d) | -20.0 | 20.0 | 0.0 |
input | iSoilCNLmtsu | Net efflux of nitrogen from metabolic surface | DOUBLE | kg/(ha d) | -20.0 | 20.0 | 0.0 |
input | iSoilCNLstsu | Net efflux of nitrogen from structural cellulose (leaf and faeces | DOUBLE | kg/(ha d) | - | - | 0.0 |
input | iTotalWaterContentPerLayer | Total water content per layer | DOUBLEARRAY | mm | - | - | - |
out | C12DomFlowPerLayer | Vertical movement of dissolved C12 | DOUBLEARRAY | g/(m2 d) | - | - | - |
out | C14DomFlowPerLayer | Vertical movement of dissolved C14 | DOUBLEARRAY | g/(m2 d) | - | - | - |
out | CDomRateFromLitter | C from litter that enters DOM pools in upper layers | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | CPomRateFromLitter | C from litter that enters POM pools in upper layers | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | ExudatesCPerLayer | root exudate C per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
out | ExudatesNPerLayer | root exudate N per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
out | ExudatesPerLayer | root exudate biomass per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
out | NDomFlowPerLayer | Vertical movement of dissolved organic N | DOUBLEARRAY | g/(m2 d) | - | - | - |
out | NDomRateFromLitter | N from litter that enters DOM pools in upper layers | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | NPomRateFromLitter | N from litter that enters POM pools in upper layers | DOUBLE | g/(m2 d) | - | - | 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
-
Field Details
-
gm2_to_kgha
protected final double gm2_to_kgha- See Also:
-
-
Constructor Details
-
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) - Parameters:
aName
-aFieldMap
-aInputMap
-aSimComponentElement
-aVarMap
-aOrderNumber
-
-
AMPSomAuxiliary
public AMPSomAuxiliary()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)
-