Package hec.hecmath

Class DurationAnalysis

java.lang.Object
hec.hecmath.DurationAnalysis

public class DurationAnalysis extends Object
Perform and organize flow/stage duration analysis on a time series
  • Field Details

    • PLOT_EXCEEDANCE_HORIZONTAL

      public static final int PLOT_EXCEEDANCE_HORIZONTAL
      Method of interpolation
      See Also:
    • PLOT_PROBABILITY_HORIZONTAL

      public static final int PLOT_PROBABILITY_HORIZONTAL
      See Also:
    • PLOT_LINEAR_VERTICAL

      public static final int PLOT_LINEAR_VERTICAL
      See Also:
    • PLOT_LOG_VERTICAL

      public static final int PLOT_LOG_VERTICAL
      See Also:
    • PLOTTING_POINTS_TRADITIONAL

      public static final int PLOTTING_POINTS_TRADITIONAL
      Determine interpolation points for plotting
      See Also:
    • PLOTTING_POINTS_USER_DEFINED

      public static final int PLOTTING_POINTS_USER_DEFINED
      See Also:
    • PLOTTING_POINTS_ALL

      public static final int PLOTTING_POINTS_ALL
      See Also:
    • BIN_LIMITS_EVEN

      public static final int BIN_LIMITS_EVEN
      See Also:
    • BIN_LIMITS_LOG

      public static final int BIN_LIMITS_LOG
      See Also:
    • BIN_LIMITS_USER_DEFINED

      public static final int BIN_LIMITS_USER_DEFINED
      See Also:
    • intervalType

      public int intervalType
      duration period type ( annual, quarterly, monthly, etc. )
    • qualityTest

      public int qualityTest
    • _durationPeriods

      protected DurationPeriod[] _durationPeriods
    • _startOfPeriods

      protected HecTime[] _startOfPeriods
    • _endOfPeriods

      protected HecTime[] _endOfPeriods
    • _tsc

      protected TimeSeriesContainer _tsc
    • defaultFrequencies

      public static final double[] defaultFrequencies
    • _durationPeriodType

      protected int _durationPeriodType
    • _durationInterval

      protected String _durationInterval
    • _plottingPoints

      protected double[] _plottingPoints
      x-values for interpolation and plotting, if other than default frequencies
  • Constructor Details

    • DurationAnalysis

      public DurationAnalysis()
  • Method Details

    • setDurationPeriodType

      public void setDurationPeriodType(String periodTypeStr, int startTime, int endTime, int interval, int timeGranularitySeconds, int julianBaseDate)
    • setDurationPeriodType

      public void setDurationPeriodType(int periodType, int startTime, int endTime, int interval, int timeGranularitySeconds, int julianBaseDate)
      Create DurationPeriod(s) for duration analysis according to analysis period type. For example, Quarterly periods will have four DurationPeriod objects for Jan-Mar, Apr-Jun, Jul-Sep, Oct-Dec.
      Parameters:
      periodType -
    • setOtherDefinedDurationPeriods

      public void setOtherDefinedDurationPeriods(DurationPeriod[] durationPeriods)
      Set the non-standard or user defined DurationPeriod(s) established by dialog or script
      Parameters:
      durationPeriods -
    • filterTimeSeries

      public boolean filterTimeSeries(TimeSeriesContainer tsc)
      Filter the time series for the times in the duration period
      Parameters:
      tsc -
      Returns:
    • setPlottingPoints

      public void setPlottingPoints(double[] plottingPoints)
      Filter the time series for the times in the duration period
    • computeDurationAnalysis

      public PairedDataContainer[] computeDurationAnalysis(boolean standardMethod, int binDistribution, int numberBins, double[] binLimits, int plottingPointsMethod, double[] userDefinedPoints, int horizontalScale, int verticalScale)
      loop over the DurationPeriods. Sort by descending flow compute the Percent flow/stage duration exceedence
      Returns:
      PairedDataContainer
    • getDurationPeriods

      public DurationPeriod[] getDurationPeriods()
    • getDurationPeriodType

      public int getDurationPeriodType()