Klasse SlimPhosphorus

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

public class SlimPhosphorus extends net.simplace.sim.model.FWSimComponent
Calculates P leaching, plant availability and uptake and transition between dissolved, active and fixed phosphorus.

Calculation

For details see also SlimPhosphorusFunctions (link to its documentation below the variables table).

On initialisation

  • Initializes pools by calculating amounts from concentration (AmountFromConcentration()).
  • Calculates coefficients for the flows (CalculateFlowCoefficients()), depending on the soil type.

Daily calculation

  • Adds mineralisation (from input) and fertilizer to dissolved P.
  • Calculates interchange between dissolved, active and fixed pool (PoolsInterchange()).
  • Calculates leaching (Leaching()).
  • Calculates plant available P and peforms the uptake (Avail() and Uptake()).
  • Calculates rates, states, P balance and concentrations from amounts (ConcentrationFromAmount()).

References

  • (1) Williams, Izaurralde: The apex model
  • (2) Fortrancode of the EPIC model
Autor:
G. Krauss
Siehe auch:

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcBSABase saturation by the ammonium acetate methodDOUBLEARRAY%---
constantcBulkDensityBulk density of soilDOUBLEARRAYg/cm30.0--
constantcCaCO3CaCO3 concentration per layerDOUBLEARRAY%0.0--
constantcClayClay content per layerDOUBLEARRAY%0.01.0-
constantcDegreeOfWeatheringType/weathering degree of soil: 0=calcareous, 1:slightly weathered, 2: moderately weathered, 3: highty weathered INT---0
constantcInitialAdsorbedPConcentrationInitial adsorbed P concentration per layerDOUBLEARRAYppm0.0--
constantcInitialDissolvedPConcentrationInitial dissolved P concentration per layerDOUBLEARRAYppm0.0--
constantcInitialFixedPConcentrationInitial fixed P concentration per layerDOUBLEARRAYppm0.0--
constantcLowerBoundaryPConcentrationP concentration in the lower boundary of the soil profileDOUBLEg/l0.01000.00.0
constantcPHpH value of soil per layerDOUBLEARRAY10.014.0-
constantcRootMaxPUptakeRateMaximum uptake rate per one metre rootDOUBLEg/m--0.0
constantcSoilLayerDepthDepth of lower layer boundary for each layerDOUBLEARRAYm0.0--
inputiDoInitializeSwitch to re-initialize the model with initial values.BOOLEAN1--false
inputiMineralizedPRateDaily Mineralized P per layerDOUBLEARRAYg/(m2 d)---
inputiPDemandP demand by the plantDOUBLEg/(m2 d)--0.0
inputiPFertilizerP fertilizerDOUBLEg/(m2 d)--0.0
inputiRootLengthRoot length per layerDOUBLEARRAYm---
inputiWaterContentTotal water content per layerDOUBLEARRAYmm---
inputiWaterFlowDaily water flow from a layer to the neighbour layer belowDOUBLEARRAYmm/d---
statesAdsorbedPAdsorbed P per layerDOUBLEARRAYg/m20.0--
statesDissolvedPDissolved P per layerDOUBLEARRAYg/m20.0--
statesFixedPFixed P per layerDOUBLEARRAYg/m20.0--
statesLeachingLeached PDOUBLEg/m2--0.0
statesTotalUptakePTotal P uptakeDOUBLEg/m2--0.0
raterAdsorbedPRateDaily change of adsorbed P per layerDOUBLEARRAYg/(m2 d)---
raterAvailPRateDaily plant available P per layerDOUBLEARRAYg/(m2 d)---
raterDissolvedPRateDaily change of dissolved P per layerDOUBLEARRAYg/(m2 d)---
raterFixedPRateDaily change of fixed P per layerDOUBLEARRAYg/(m2 d)---
raterLeachingRateDaily leaching rateDOUBLEg/(m2 d)---
raterTotalAvailPRateDaily total avail P in profileDOUBLEg/(m2 d)--0.0
raterTotalUptakePRateDaily total plant uptaken P in profileDOUBLEg/(m2 d)--0.0
raterUptakePRateDaily P taken up by plant per layerDOUBLEARRAYg/(m2 d)---
outAdsorbedPConcentrationAdsorbed P concentration per layerDOUBLEARRAYppm0.0--
outAdsorptionCoefficientsAsorption coefficients per layerDOUBLEARRAY1---
outAdsorptionRateDaily adsorbed P per layerDOUBLEARRAYg/(m2 d)---
outCumulatedFertilizerCummulated fertilizer over timeDOUBLEg/m2--0.0
outCumulatedMineralizedPCummulated mineralized P over time in whole profileDOUBLEg/m2--0.0
outDissolvedPConcentrationDissolved P concentration per layerDOUBLEARRAYppm0.0--
outDissolvedPFlowDaily dissolved P flow from a layer to the neighbour layer belowDOUBLEARRAYg/(m2 d)---
outFixationCoefficientsFixation coefficients per layerDOUBLEARRAY1---
outFixationRateDaily fixed P per layerDOUBLEARRAYg/(m2 d)---
outFixedPConcentrationFixed P concentration per layerDOUBLEARRAYppm0.0--
outInitialAdsorbedPInitial adsorbed P per layerDOUBLEARRAYg/m20.0--
outInitialDissolvedPInitial dissolved P per layerDOUBLEARRAYg/m20.0--
outInitialFixedPInitial fixed P per layerDOUBLEARRAYg/m20.0--
outPBalanceP BalanceDOUBLEg/m2--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

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

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

    Konstruktoren
    Modifizierer
    Konstruktor
    Beschreibung
     
    called from class.forName()
    protected
    SlimPhosphorus(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)
     
    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
     
    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
  • Konstruktordetails

    • SlimPhosphorus

      protected SlimPhosphorus(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 -
    • SlimPhosphorus

      public SlimPhosphorus()
      called from 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
    • init

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

      protected void initVariables()
    • reInitialize

      protected void reInitialize()
    • process

      protected void process()
      Angegeben von:
      process in Klasse net.simplace.sim.model.FWSimComponent
    • 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:
      • FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)