Class ErosionFreebairnAPSIM
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
This SimComponent uses a modified Universal Soil Loss Equation proposed by Freebairn and Wockner (Freebairn & Wockner, 1986) to predict soil erosion considering runoff volume and soil cover fraction. 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 model has the following form:
\[ \begin{eqnarray} SedConc & = & 16.52 - 0.46 \cdot COV + 0.0031 \cdot COV^2 & \text{(COV } \lt 50 \text{%)} \\ SedConc & = & 2.54 - 0.0254 \cdot COV & \text{(COV } \ge 50 \text{%)} \\ A & = & \frac{SedConc \cdot LS \cdot K \cdot P \cdot Q}{10} \end{eqnarray} \]Where SedConc is the sediment concentration (g/L); A (SoilLoss) is the event soil loss (t/ha); COV is the soil cover (%) (iCoverFrac * 100), LS is the slope length and steepness factor (dimensionless); K (cKfac) is the soil erodibility factor (dimensionless), P (cPfac) is the supporting practice factor (dimensionless), and Q (iRunoff) is the event runoff (mm). The 1/10 in Eq. 3 resolves the unit’s conversion to obtain A in t/ha. 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). LS is a slope and length factor in USLE approach, which is calculated with the below equations (Presbitero et al., 1995):
\[ \begin{eqnarray} LS & = & (65.41 \cdot S^2 + 4.56 \cdot S + 0.065) \cdot (L/22.1)^m \\ m & = & 0.6 \cdot [1-e^{(-35.835 \cdot S)}] \end{eqnarray} \]Where S (cSlopePercent) is the slope angle (%), and L (cSlopeLength) is the length of the catchment (m). The 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 & = & \frac{[A \cdot (1e^6/1e^8)]}{cSoilBD[0]} \end{eqnarray} \]References
Freebairn, D.M., Wockner, G.H., 1986. A study of soil erosion on vertisols of the eastern darling downs, Queensland. I effects of surface conditions on soil movement within contour bay catchments. Aust. J. Soil Res. 24, 135–158. https://doi.org/10.1071/SR9860135
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.
Presbitero, A.L., Escalante, M.C., Rose, C.W., Coughlan, K.J., Ciesiolka, C.A., 1995. Erodibility evaluation and the effect of land management practices on soil erosion from steep slopes in Leyte, the Philippines. Soil Technol. 8, 205–213. https://doi.org/10.1016/0933-3630(95)00020-8
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 & Software 62 (December 2014): 327–350. https://doi.org/10.1016/j.envsoft.2014.07.009
- Author:
- Murilo Vianna, Gunther Krauss, gk@uni-bonn.de
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cKfac | Soil erodibility factor | DOUBLE | 1 | - | - | 0.4 |
constant | cPfac | Supporting practise factor | DOUBLE | 1 | - | - | 1.0 |
constant | cSlopeLength | Length of plot | DOUBLE | m | 0.0 | - | - |
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 | - | - |
-
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) fillTestVariables
(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
-
Constructor Details
-
ErosionFreebairnAPSIM
public ErosionFreebairnAPSIM() -
ErosionFreebairnAPSIM
public ErosionFreebairnAPSIM(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
-
-
-
Method Details
-
createVariables
- Specified by:
createVariables
in interfacenet.simplace.sim.util.FWSimFieldContainer
- Specified by:
createVariables
in classnet.simplace.sim.model.FWSimComponent
-
init
protected void init()- Specified by:
init
in classnet.simplace.sim.model.FWSimComponent
-
process
protected void process()- Specified by:
process
in classnet.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.- 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) - Specified by:
clone
in classnet.simplace.sim.model.FWSimComponent
-