Loading [MathJax]/extensions/tex2jax.js
net.simplace.sim.components.experimental.runoff.RunoffCurveNumber_SW
Calculates runoff according to the SCS Runoff Curve Number method,
- with optional slope correction to the SWAT2009 model,
- with the retention parameter varying
- either with soil profile water content according to the SWAT2009 model,
- or with depth-weighted soil profile water content according to the EPIC model,
- and with optional retention parameter adjustment in case of frozen soil.
Note: this component can deal with variable layer thicknesses.
Note 2: The frozen soil correction starts if the 2nd soil layer is below 0°C. If layers are thick this may be too deep.
This might need further development: take layer 1, or the average of the first 2 layers etc.
References:
Cronshey, R., 1986. Urban hydrology for small watersheds (No. TR-55). US Dept. of Agriculture, Soil Conservation Service, Engineering Division.
Neitsch, S.L., Arnold, J.G., Kiniry, J.R., Williams, J.R., 2011. Soil & Water Assessment Tool, Theoretical Documentation, Version 2009 (No. TR-406).
Sharpley, A.N., Williams, J.R., 1990. EPIC - Erosion/Productivity Impact Calculator (U.S. Department of Agriculture Technical Bulletin No. 1768). Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
constant | cSlope | Slope (leave out to disable slope correction) | DOUBLE | % | 0.0 | 100.0 | - |
constant | cSoilLayerDepth | Depth of the bottom of each soil layer after soil layer transformation | DOUBLEARRAY | m | - | - | - |
constant | cSoilWaterFieldCapacity | Volumetric soil water content of each layer at field capacity | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cSoilWaterSaturation | Volumetric soil water content of each layer at saturation (pF0 or 0.0 KPa) | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cSoilWaterWiltingPoint | Volumetric soil water content of each layer at permanent wilting point | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cWeighted | Use depth weighted soil soil water. | BOOLEAN | 1 | - | - | false |
input | iCN2 | Curve Number for average moisture | DOUBLE | 1 | 30.0 | 100.0 | - |
input | iRain | Rainfall | DOUBLE | milimetre | 0.0 | 1000.0 | - |
input | iSoilTemperature | Soil temperature per layer for adjusting runoff for frozen ground. Can be left blank. | DOUBLEARRAY | °C | -40.0 | 80.0 | - |
input | iTotalWaterContentPerLayer | Total water content in each soil layer (mm) | DOUBLEARRAY | mm | 0.0 | - | - |
out | CN | Curve number after slope, soil moisture, and frozen soil adjustment | DOUBLE | 1 | 0.0 | 100.0 | - |
out | RainAdj | Adjusted rain (i.e. minus runoff) | DOUBLE | milimetre | 0.0 | 1000.0 | - |
out | Runoff | Runoff | DOUBLE | milimetre | 0.0 | 10000.0 | - |
out | S | Retention parameter | DOUBLE | 1 | 0.0 | 1000.0 | - |
public class RunoffCurveNumber_SW extends net.simplace.sim.model.FWSimComponent {
// Public Constructors
public RunoffCurveNumber_SW();
// Public Instance Methods public HashMap createVariables(); // Defines
net.simplace.sim.model.FWSimComponent
Create the FWSimVariables as interface for this SimComponent
// Protected Instance Methods protected void init(); // Defines net.simplace.sim.model.FWSimComponent
Initialises the fields by getting input and output FWSimVariables from VarMap
protected void process(); // Defines net.simplace.sim.model.FWSimComponent
Process the algorithm and write the results back to VarMap
protected FWSimComponent clone(FWSimVarMap aVarMap);
// Defines net.simplace.sim.model.FWSimComponent
Creates a clone from this SimComponent for use in other threads
}
Hierarchy: java.lang.Object - net.simplace.sim.model.FWSimComponent (net.simplace.sim.util.FWSimFieldContainer) - RunoffCurveNumber_SW