Package hec.hecmath
Class DurationAnalysis
java.lang.Object
hec.hecmath.DurationAnalysis
Perform and organize flow/stage duration analysis on a time series
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
protected DurationPeriod[]
protected int
protected HecTime[]
protected double[]
x-values for interpolation and plotting, if other than default frequenciesprotected HecTime[]
protected TimeSeriesContainer
static final int
static final int
static final int
static final double[]
int
duration period type ( annual, quarterly, monthly, etc.static final int
Method of interpolationstatic final int
static final int
static final int
static final int
static final int
Determine interpolation points for plottingstatic final int
int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncomputeDurationAnalysis
(boolean standardMethod, int binDistribution, int numberBins, double[] binLimits, int plottingPointsMethod, double[] userDefinedPoints, int horizontalScale, int verticalScale) loop over the DurationPeriods.boolean
Filter the time series for the times in the duration periodint
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.void
setDurationPeriodType
(String periodTypeStr, int startTime, int endTime, int interval, int timeGranularitySeconds, int julianBaseDate) void
setOtherDefinedDurationPeriods
(DurationPeriod[] durationPeriods) Set the non-standard or user defined DurationPeriod(s) established by dialog or scriptvoid
setPlottingPoints
(double[] plottingPoints) Filter the time series for the times in the duration period
-
Field Details
-
PLOT_EXCEEDANCE_HORIZONTAL
public static final int PLOT_EXCEEDANCE_HORIZONTALMethod 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_TRADITIONALDetermine 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 intervalTypeduration period type ( annual, quarterly, monthly, etc. ) -
qualityTest
public int qualityTest -
_durationPeriods
-
_startOfPeriods
-
_endOfPeriods
-
_tsc
-
defaultFrequencies
public static final double[] defaultFrequencies -
_durationPeriodType
protected int _durationPeriodType -
_durationInterval
-
_plottingPoints
protected double[] _plottingPointsx-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
Set the non-standard or user defined DurationPeriod(s) established by dialog or script- Parameters:
durationPeriods
-
-
filterTimeSeries
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
-
getDurationPeriodType
public int getDurationPeriodType()
-