Klasse RunoffCurveNumber_SW

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

public class RunoffCurveNumber_SW extends net.simplace.sim.model.FWSimComponent

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 <span class="invalid-tag">Ungültige Eingabe: "&"</span> 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).

Autor:
Roelof Oomen

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcSlopeSlope (leave out to disable slope correction)DOUBLE%0.0100.0-
constantcSoilLayerDepthDepth of the bottom of each soil layer after soil layer transformationDOUBLEARRAYm---
constantcSoilWaterFieldCapacityVolumetric soil water content of each layer at field capacityDOUBLEARRAYm3/m3---
constantcSoilWaterSaturationVolumetric soil water content of each layer at saturation (pF0 or 0.0 KPa)DOUBLEARRAYm3/m3---
constantcSoilWaterWiltingPointVolumetric soil water content of each layer at permanent wilting pointDOUBLEARRAYm3/m3---
constantcWeightedUse depth weighted soil soil water.BOOLEAN1--false
inputiCN2Curve Number for average moistureDOUBLE130.0100.0-
inputiRainRainfallDOUBLEmm0.01000.0-
inputiSoilTemperatureSoil temperature per layer for adjusting runoff for frozen ground. Can be left blank.DOUBLEARRAY°C-40.080.0-
inputiTotalWaterContentPerLayerTotal water content in each soil layer (mm)DOUBLEARRAYmm0.0--
outCNCurve number after slope, soil moisture, and frozen soil adjustmentDOUBLE10.0100.0-
outRainAdjAdjusted rain (i.e. minus runoff)DOUBLEmm0.01000.0-
outRunoffRunoffDOUBLEmm0.010000.0-
outSRetention parameterDOUBLE10.01000.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
    Konstruktor
    Beschreibung
    Empty constructor used by class.forName()
  • 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<?>>
    Create the FWSimVariables as interface for this SimComponent
    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
    Initialises the fields by getting input and output FWSimVariables from VarMap
    protected void
    Process the algorithm and write the results back to VarMap

    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

    • RunoffCurveNumber_SW

      public RunoffCurveNumber_SW()
      Empty constructor used by class.forName()
  • Methodendetails

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Create the FWSimVariables as interface for this SimComponent
      Angegeben von:
      createVariables in Schnittstelle net.simplace.sim.util.FWSimFieldContainer
      Angegeben von:
      createVariables in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        net.simplace.simulation.model.FWSimComponent#createVariables()
    • init

      protected void init()
      Initialises the fields by getting input and output FWSimVariables from VarMap
      Angegeben von:
      init in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        net.simplace.simulation.model.FWSimComponent#init()
    • process

      protected void process()
      Process the algorithm and write the results back to VarMap
      Angegeben von:
      process in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        net.simplace.simulation.model.FWSimComponent#process()
    • 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:
      • Ungültige Referenz
        net.simplace.simulation.model.FWSimComponent#clone(net.simplace.simulation.util.FWSimVarMap)