Class CNEquations

java.lang.Object
net.simplace.sim.components.soil.runoff.CNEquations

public class CNEquations extends Object
Shared equations for the components calculating runoff

...using the SCS curve number method and variants thereof.

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).
Author:
Roelof Oomen
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    CN(double S)
    Curve number calculated from the retention parameter (this is SWAT2009 eq.
    static double
    CN1(double CN2)
    Adjusted curve number for low soil moisture conditions CN1 SWAT2009 eq 2:1.1.4
    static double
    CN2s(double CN2, double slope)
    Slope adjustment of curve number 2 SWAT2009 eq.
    static double
    CN2slope(double CN2, Double slope)
    Slope adjustment of curve number 2 - if slope is null, no correction is made
    static double
    CN3(double CN2)
    Adjusted curve number for high soil moisture conditions CN3 SWAT2009 eq 2:1.1.5
    static double
    I_a(double S)
    Initial abstraction: all losses before runoff begins.
    static double
    Q_surf(double R, double S)
    Surface runoff SWAT2009 eq.
    static double
    S(double CN)
    Potential maximum retention after runoff begins (unadjusted) SWAT2009 eq.
    static double
    S_3(double CN2)
    Minimum retention parameter value, i.e.
    static double
    S_ET(double S_max, double S_prev, double ET0, double CNcoef, double CN2, double R, double Q_surf)
    Retention parameter that varies with plant evapotranspiration SWAT2009 eq.
    static double
    S_frz(double S_max, double S)
    Retention parameter adjustment for frozen soil.
    static double
    S_max(double CN2)
    Maximum retention parameter value, i.e.
    static double
    S_SW(double S_max, double SW, double w1, double w2)
    Retention parameter that varies with soil water content SWAT2009 eq.
    static double
    w1(double FC, double S_max, double S_3, double w2)
    Shape coefficient 1 SWAT2009 eq.
    static double
    w2(double FC, double SAT, double S_max, double S_3)
    Shape coefficient 2 SWAT2009 eq.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CNEquations

      public CNEquations()
  • Method Details

    • CN1

      public static double CN1(double CN2)
      Adjusted curve number for low soil moisture conditions CN1 SWAT2009 eq 2:1.1.4
      Parameters:
      CN2 -
      Returns:
    • CN3

      public static double CN3(double CN2)
      Adjusted curve number for high soil moisture conditions CN3 SWAT2009 eq 2:1.1.5
      Parameters:
      CN2 -
      Returns:
    • I_a

      public static double I_a(double S)
      Initial abstraction: all losses before runoff begins. SWAT2009 pg. 99
      Parameters:
      S -
      Returns:
    • Q_surf

      public static double Q_surf(double R, double S)
      Surface runoff SWAT2009 eq. 2:1.1.1
      Parameters:
      R -
      S -
      Returns:
    • S

      public static double S(double CN)
      Potential maximum retention after runoff begins (unadjusted) SWAT2009 eq. 2:1.1.2
      Parameters:
      CN -
      Returns:
    • CN

      public static double CN(double S)
      Curve number calculated from the retention parameter (this is SWAT2009 eq. 2:1.1.2 rearranged). Used to determine the equivalent Curve Number after adjusting S for slope, antecedent moisture conditions, etc. SWAT2009 eq. 2:1.1.11
      Parameters:
      S -
      Returns:
    • S_max

      public static double S_max(double CN2)
      Maximum retention parameter value, i.e. retention parameter for CN1 SWAT2009 pg. 104
      Parameters:
      CN2 -
      Returns:
    • S_3

      public static double S_3(double CN2)
      Minimum retention parameter value, i.e. retention parameter for CN3 SWAT2009 pg. 104
      Parameters:
      CN2 -
      Returns:
    • CN2s

      public static double CN2s(double CN2, double slope)
      Slope adjustment of curve number 2 SWAT2009 eq. 2:1.1.12
      Parameters:
      CN2 - curve number 2
      slope - as fraction
      Returns:
    • CN2slope

      public static double CN2slope(double CN2, Double slope)
      Slope adjustment of curve number 2 - if slope is null, no correction is made
      Parameters:
      CN2 - curve number 2
      slope - in %
      Returns:
    • w1

      public static double w1(double FC, double S_max, double S_3, double w2)
      Shape coefficient 1 SWAT2009 eq. 2:1.1.7
      Parameters:
      FC -
      S_max -
      S_3 -
      w2 -
      Returns:
    • w2

      public static double w2(double FC, double SAT, double S_max, double S_3)
      Shape coefficient 2 SWAT2009 eq. 2:1.1.8
      Parameters:
      FC -
      SAT -
      S_max -
      S_3 -
      Returns:
    • S_SW

      public static double S_SW(double S_max, double SW, double w1, double w2)
      Retention parameter that varies with soil water content SWAT2009 eq. 2:1.1.6
      Parameters:
      S_max -
      SW -
      w1 -
      w2 -
      Returns:
    • S_ET

      public static double S_ET(double S_max, double S_prev, double ET0, double CNcoef, double CN2, double R, double Q_surf)
      Retention parameter that varies with plant evapotranspiration SWAT2009 eq. 2:1.1.9
      Parameters:
      S_max -
      S_prev -
      ET0 -
      CNcoef -
      CN2 -
      R -
      Q_surf -
      Returns:
    • S_frz

      public static double S_frz(double S_max, double S)
      Retention parameter adjustment for frozen soil. SWAT2009 eq. 2:1.1.10
      Parameters:
      S_max -
      S -
      Returns: