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 Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
|---|---|---|---|---|---|---|---|
| constant | cBSA | Base saturation by the ammonium acetate method | DOUBLEARRAY | % | - | - | - |
| constant | cBulkDensity | Bulk density of soil | DOUBLEARRAY | g/cm3 | 0.0 | - | - |
| constant | cCaCO3 | CaCO3 concentration per layer | DOUBLEARRAY | % | 0.0 | - | - |
| constant | cClay | Clay content per layer | DOUBLEARRAY | % | 0.0 | 1.0 | - |
| constant | cDegreeOfWeathering | Type/weathering degree of soil: 0=calcareous, 1:slightly weathered, 2: moderately weathered, 3: highty weathered | INT | - | - | - | 0 |
| constant | cInitialAdsorbedPConcentration | Initial adsorbed P concentration per layer | DOUBLEARRAY | ppm | 0.0 | - | - |
| constant | cInitialDissolvedPConcentration | Initial dissolved P concentration per layer | DOUBLEARRAY | ppm | 0.0 | - | - |
| constant | cInitialFixedPConcentration | Initial fixed P concentration per layer | DOUBLEARRAY | ppm | 0.0 | - | - |
| constant | cLowerBoundaryPConcentration | P concentration in the lower boundary of the soil profile | DOUBLE | g/l | 0.0 | 1000.0 | 0.0 |
| constant | cPH | pH value of soil per layer | DOUBLEARRAY | 1 | 0.0 | 14.0 | - |
| constant | cRootMaxPUptakeRate | Maximum uptake rate per one metre root | DOUBLE | g/m | - | - | 0.0 |
| constant | cSoilLayerDepth | Depth of lower layer boundary for each layer | DOUBLEARRAY | m | 0.0 | - | - |
| input | iDoInitialize | Switch to re-initialize the model with initial values. | BOOLEAN | 1 | - | - | false |
| input | iMineralizedPRate | Daily Mineralized P per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
| input | iPDemand | P demand by the plant | DOUBLE | g/(m2 d) | - | - | 0.0 |
| input | iPFertilizer | P fertilizer | DOUBLE | g/(m2 d) | - | - | 0.0 |
| input | iRootLength | Root length per layer | DOUBLEARRAY | m | - | - | - |
| input | iWaterContent | Total water content per layer | DOUBLEARRAY | mm | - | - | - |
| input | iWaterFlow | Daily water flow from a layer to the neighbour layer below | DOUBLEARRAY | mm/d | - | - | - |
| state | sAdsorbedP | Adsorbed P per layer | DOUBLEARRAY | g/m2 | 0.0 | - | - |
| state | sDissolvedP | Dissolved P per layer | DOUBLEARRAY | g/m2 | 0.0 | - | - |
| state | sFixedP | Fixed P per layer | DOUBLEARRAY | g/m2 | 0.0 | - | - |
| state | sLeaching | Leached P | DOUBLE | g/m2 | - | - | 0.0 |
| state | sTotalUptakeP | Total P uptake | DOUBLE | g/m2 | - | - | 0.0 |
| rate | rAdsorbedPRate | Daily change of adsorbed P per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
| rate | rAvailPRate | Daily plant available P per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
| rate | rDissolvedPRate | Daily change of dissolved P per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
| rate | rFixedPRate | Daily change of fixed P per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
| rate | rLeachingRate | Daily leaching rate | DOUBLE | g/(m2 d) | - | - | - |
| rate | rTotalAvailPRate | Daily total avail P in profile | DOUBLE | g/(m2 d) | - | - | 0.0 |
| rate | rTotalUptakePRate | Daily total plant uptaken P in profile | DOUBLE | g/(m2 d) | - | - | 0.0 |
| rate | rUptakePRate | Daily P taken up by plant per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
| out | AdsorbedPConcentration | Adsorbed P concentration per layer | DOUBLEARRAY | ppm | 0.0 | - | - |
| out | AdsorptionCoefficients | Asorption coefficients per layer | DOUBLEARRAY | 1 | - | - | - |
| out | AdsorptionRate | Daily adsorbed P per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
| out | CumulatedFertilizer | Cummulated fertilizer over time | DOUBLE | g/m2 | - | - | 0.0 |
| out | CumulatedMineralizedP | Cummulated mineralized P over time in whole profile | DOUBLE | g/m2 | - | - | 0.0 |
| out | DissolvedPConcentration | Dissolved P concentration per layer | DOUBLEARRAY | ppm | 0.0 | - | - |
| out | DissolvedPFlow | Daily dissolved P flow from a layer to the neighbour layer below | DOUBLEARRAY | g/(m2 d) | - | - | - |
| out | FixationCoefficients | Fixation coefficients per layer | DOUBLEARRAY | 1 | - | - | - |
| out | FixationRate | Daily fixed P per layer | DOUBLEARRAY | g/(m2 d) | - | - | - |
| out | FixedPConcentration | Fixed P concentration per layer | DOUBLEARRAY | ppm | 0.0 | - | - |
| out | InitialAdsorbedP | Initial adsorbed P per layer | DOUBLEARRAY | g/m2 | 0.0 | - | - |
| out | InitialDissolvedP | Initial dissolved P per layer | DOUBLEARRAY | g/m2 | 0.0 | - | - |
| out | InitialFixedP | Initial fixed P per layer | DOUBLEARRAY | g/m2 | 0.0 | - | - |
| out | PBalance | P Balance | DOUBLE | g/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
KonstruktorenModifiziererKonstruktorBeschreibungcalled from class.forName()protectedSlimPhosphorus(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 TypMethodeBeschreibungprotected net.simplace.sim.model.FWSimComponentclone(net.simplace.sim.util.FWSimVarMap aVarMap) fillTestVariables(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected voidinit()protected voidprotected voidprocess()protected voidVon 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
-
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
- Angegeben von:
createVariablesin Schnittstellenet.simplace.sim.util.FWSimFieldContainer- Angegeben von:
createVariablesin Klassenet.simplace.sim.model.FWSimComponent
-
init
protected void init()- Angegeben von:
initin Klassenet.simplace.sim.model.FWSimComponent
-
initVariables
protected void initVariables() -
reInitialize
protected void reInitialize() -
process
protected void process()- Angegeben von:
processin Klassenet.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:
fillTestVariablesin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
clone
protected net.simplace.sim.model.FWSimComponent clone(net.simplace.sim.util.FWSimVarMap aVarMap) - Angegeben von:
clonein Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-