Klasse ErosionRoseAPSIM
- Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer
This SimComponent calculates soil erosion using the Rose model which is based on a simplified sediment concentration function described by Rose (1985). The algorithm follows the same formulations used in the APSIM (Agricultural Production Systems sIMulator) platform, which was adapted from the PERFECT model (Littleboy et al., 1992). The general equation is given as:
\[ \begin{eqnarray} A Ungültige Eingabe: "&" = Ungültige Eingabe: "&" 2700 \cdot S \cdot (100 - COV) \cdot \lambda \cdot \frac{Q}{100} \end{eqnarray} \]Where A (SoilLoss) is the event soil loss (t/ha); S (cSlopePercent) is the slope angle (%); COV is the soil cover (%) (iCoverFrac * 100); Q (iRunoff) is the event runoff (mm); and \( \lambda \) is a factor approximating efficiency of entrainment (dimensionless). The soil cover fraction (iCoverFrac) (0-1) can be calculated by the SimComponent RunoffSurfaceCover, whereas iRunoff (mm) can be obtained by one of the SimComponents which calculates runoff (e.g., RunoffCurveNumberAPSIM). The efficiency of entrainment \( \lambda \) is calculated as follows:
\[ \begin{eqnarray} \lambda Ungültige Eingabe: "&" = Ungültige Eingabe: "&" \lambda_{bare} \cdot e^{-\beta \cdot COV} \end{eqnarray} \]Where \( \lambda_{bare} \) (cEntrainEff) is the efficiency of entrainment of bare surface (dimensionless); and \( \beta \) (cErosRoseB2) is a cover ‘sensitivity’ factor (dimensionless). In special cases where a distinction should be made for the sediment load transport which is maintained in suspension by turbulence in the flowing water, users can prescribe \( \lambda_{bare} \) and \( \beta \) values for such cases respectively (cEntrainEffBed, cEntrainEffSusp, cErosRoseB2Bed, cErosRoseB2Susp). In this case, both cEntrainEff and cErosRoseB2 values should be prescribed as -1. The input soil bulk density (cSoilBD) in g/cm3 of the top layer is used to convert A from Eq. 3 from t/ha to mm (mmSoilLoss):
\[ \begin{eqnarray} mmSoilLoss Ungültige Eingabe: "&" = Ungültige Eingabe: "&" \frac{[A \cdot (1e^6/1e^8)]}{cSoilBD[0]} \end{eqnarray} \]References
Rose, C.W., 1985. Developments in soil erosion and deposition models. Adv. soil Sci. 2, 1–63. https://doi.org/10.1007/978-1-4612-5088-3_1
APSIM v7.1 source code. Last time accessed: Dec-14-2022. URL: https://github.com/APSIMInitiative/APSIMClassic/blob/83039e54200481899b4566761f47fd61d53b4fdf/Model/SoilErosion/SoilErosion.cs
Littleboy, M., D.M. Silburn, D.M. Freebairn, D.R. Woodruff, G.L. Hammer, and J.K. Leslie. 1992. Impact of soil erosion on production in cropping systems. I. Development and validation of a simulation model. Aust. J. Soil Res. 30, 757-774.
Holzworth, Dean P., Neil I. Huth, Peter G. deVoil, Eric J. Zurcher, Neville I. Herrmann, Greg McLean, Karine Chenu, et al. "APSIM - Evolution towards a New Generation of Agricultural Systems Simulation." Environmental Modelling <span class="invalid-tag">Ungültige Eingabe: "&"</span> Software 62 (December 2014): 327–350. https://doi.org/10.1016/j.envsoft.2014.07.009
- Autor:
- Murilo Vianna, Gunther Krauss, gk@uni-bonn.de
Component Variables
| Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
|---|---|---|---|---|---|---|---|
| constant | cEntrainEff | Efficiency of entrainment - bare surface | DOUBLE | 1 | - | - | 0.7 |
| constant | cEntrainEffBed | Efficiency of entrainment - bare surface - bed load | DOUBLE | 1 | - | - | 0.72 |
| constant | cEntrainEffSusp | Efficiency of entrainment - bare surface - suspended load | DOUBLE | 1 | - | - | 0.08 |
| constant | cErosRoseB2 | Coefficient for calculating lambda in \"rose\" sub-model | DOUBLE | 1 | - | - | 0.15 |
| constant | cErosRoseB2Bed | Coefficient for calculating lambda in \"rose\" sub-model - bed load | DOUBLE | 1 | - | - | 0.15 |
| constant | cErosRoseB2Susp | Coefficient for calculating lambda in \"rose\" sub-model - suspended load | DOUBLE | 1 | - | - | 0.15 |
| constant | cSlopePercent | Slope in percent | DOUBLE | % | 0.0 | 100.0 | 3.0 |
| constant | cSoilBD | Soil bulk density per layer | DOUBLEARRAY | g/cm3 | 0.0 | - | - |
| input | iCoverFrac | Fraction of surface cover (crop and residue) | DOUBLE | 1 | 0.0 | 1.0 | - |
| input | iRunoff | Runoff | DOUBLE | mm/d | 0.0 | 200.0 | 0.0 |
| out | SedmentConc | Sedment concentration [g/L] | DOUBLE | g/l | 0.0 | - | - |
| out | SedmentConcBed | Sedment concentration from bed load [g/L] | DOUBLE | g/l | 0.0 | - | - |
| out | SedmentConcSusp | Sedment concentration from suspended load [g/L] | DOUBLE | g/l | 0.0 | - | - |
| out | SoilLoss | Soil loss [ton/ha/day] | DOUBLE | t/ha | 0.0 | - | - |
| out | mmSoilLoss | Soil loss [mm/day] | DOUBLE | mm | 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 -
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 voidprocess()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
-
Konstruktordetails
-
ErosionRoseAPSIM
public ErosionRoseAPSIM() -
ErosionRoseAPSIM
public ErosionRoseAPSIM(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-
-
-
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
-
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
-