Package hec.rss.model
Class InducedSurchargeOpRule
java.lang.Object
java.util.Observable
hec.lang.NamedType
hec.rss.model.RssTSLocationObject
hec.rss.model.OpRule
hec.rss.model.InducedSurchargeOpRule
- All Implemented Interfaces:
AsciiSerializable,FieldAccessor,TSLocation,AltInputReportInfc,RssModelVariableConstants,RssReturnStatusConstants,RssTSLocation,Serializable,Cloneable,Comparable,Observer,rma.lang.Modifiable
public class InducedSurchargeOpRule
extends OpRule
implements AsciiSerializable, Serializable, Cloneable
Description of the Class
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDescription of the Fieldstatic final intDescription of the Fieldstatic final intDescription of the Fieldstatic final intDescription of the Fieldstatic final intDescription of the FieldFields inherited from class hec.rss.model.OpRule
_avgPeriod, _enableRiseFallCond, _multiplier, _parameterType, _riseFallCondition, _riseFallTolerance, _system, _timeOfDayMultiplier, _useDayOfWeekMultiplier, _usePeriodAverageLimit, _useTimeOfDayMultiplier, FALLING, FALLING_OR_CONST, INFLOW, NONE, POOL_ELEVATION, RISING, RISING_OR_CONST, RULETYPE_DEMAND, RULETYPE_FREE, RULETYPE_MAX, RULETYPE_MIN, RULETYPE_SPECFields inherited from class hec.lang.NamedType
_description, _ignoreModifiedEvents, _index, _isValid, _modified, _name, defaultDescription, defaultName, DESCRIPTION_CHANGED, NAME_CHANGED, RENAME_EVENTFields inherited from interface hec.rss.model.RssModelVariableConstants
CUMLOC_OUTPUT_DATA, GRPID_DIVERSION, GRPID_JUNCTION, GRPID_REACH, GRPID_RESERVOIR, HINDCAST_IDS, HOLDOUT_OUTPUT_DATA, INPUT_DATA, OUTPUT_DATA, PULSE_OUTPUT_DATA, UNREG_OUTPUT_DATA, VID_ADJPARAM_FLOW, VID_CAPACITY_FACTOR, VID_CTRLOUT_HINDFLW, VID_CTRLOUT_RELEASE, VID_DAM_LEAK, VID_DAM_RELEASE, VID_DIV_FLOW, VID_DIV_FLOW_ROUTED, VID_DIV_HINDFLW, VID_DIV_RELEASE, VID_DIVOUT_FLOW, VID_DIVOUT_FLOW_ROUTED, VID_ENERGYREQUIRED_TSINPUT, VID_FIRST, VID_FOREBAY_ELEV, VID_FOREBAY_HEADLOSS, VID_GATE_OPENING, VID_GATE_PERCENTOPEN, VID_JUNC_ELEV, VID_JUNC_FLOW_CUMLOC, VID_JUNC_FLOW_DIV, VID_JUNC_FLOW_HOLD, VID_JUNC_FLOW_IN, VID_JUNC_FLOW_LIMIT, VID_JUNC_FLOW_LOCAL, VID_JUNC_FLOW_PULSE, VID_JUNC_FLOW_REG, VID_JUNC_FLOW_UNREG, VID_JUNC_FLOW_VIOL, VID_JUNC_HINDFLOW, VID_JUNC_INFLOW, VID_JUNC_INFLOW_LOCAL_TOTAL, VID_JUNC_STAGE, VID_JUNC_STAGE_LIMIT, VID_JUNC_STAGE_REG, VID_JUNC_STAGE_UNREG, VID_JUNC_STAGE_VIOL, VID_LAST, VID_NODE_FLOW, VID_NODE_HINDFLW, VID_NODE_HINDSTG, VID_NODE_KNOWNFLOW, VID_NODE_STAGE, VID_OPCTRL_CONSTRAINTID, VID_OPCTRL_DECISION, VID_OPCTRL_MAXLIMIT, VID_OPCTRL_MINLIMIT, VID_OPCTRL_RULEID, VID_OPCTRL_ZONEID, VID_OPRULE_FLOW_SPACE, VID_OPRULE_MAX, VID_OPRULE_MAX_STAGE, VID_OPRULE_MIN, VID_OPRULE_MIN_STAGE, VID_OPRULE_PRIORITY, VID_OPRULE_ROUTE_LAG, VID_OPRULE_ROUTE_MAXOFFSET, VID_OPRULE_ROUTE_MINOFFSET, VID_OPRULE_SPEC, VID_OPRULE_STOR_BAL, VID_OPRULE_STOR_BAL_INDEX, VID_OPRULE_VIOL_ELEV, VID_OPRULE_VIOL_FLOW, VID_OPRULE_VIOL_STAGE, VID_OPRULE_VIOL_STOR, VID_OPRULE_WQCD_ELEV, VID_OPRULEFL_CUMLOC, VID_OPRULETS_TSINPUT, VID_OPSET_ACTIVEZONE, VID_OPSET_GC_ELEV, VID_OPSET_GC_STOR, VID_OPSET_KNOWNZONEELEV, VID_OPSET_PROJECTEDELEV, VID_OPSET_ZONEELEV, VID_OPSET_ZONESTOR, VID_OUTGRP_RELEASE, VID_POOL_AREA, VID_POOL_ELEV, VID_POOL_ELEV_EST, VID_POOL_ELEVROC, VID_POOL_EVAP, VID_POOL_FLOWINTOSTOR, VID_POOL_HINDELEV, VID_POOL_HINDSTOR, VID_POOL_HOLDOUT, VID_POOL_INFLOW, VID_POOL_INPUTEVAP, VID_POOL_NETINFLOW, VID_POOL_OUTFLOW, VID_POOL_OUTFLOW_EST, VID_POOL_SEEP, VID_POOL_STOR, VID_PULSE_BACKQ, VID_PULSE_PULSEQ, VID_PUMP_FLOWAVG, VID_PUMP_VOL, VID_PUMPRULE_FLOWAVG, VID_PUMPRULE_FLOWAVG_CAP, VID_PUMPRULE_FLOWINST, VID_PUMPRULE_FLOWINST_CAP, VID_PUMPRULE_HOURS, VID_PUMPRULE_HOURS_CAP, VID_PUMPRULE_NUMPUMP, VID_PUMPRULE_NUMPUMP_CAP, VID_PUMPRULE_UNITHOURS, VID_PUMPRULE_UNITHOURS_CAP, VID_PUMPRULE_VOL, VID_PUMPRULE_VOL_CAP, VID_PWR_CAPABILITY, VID_PWR_EFF, VID_PWR_ENGYGEN, VID_PWR_ENGYPATTERN, VID_PWR_ENGYPERGEN, VID_PWR_ENGYPERREQD, VID_PWR_ENGYREQD, VID_PWR_ENGYVIOL, VID_PWR_FLWPWR, VID_PWR_HDPWR, VID_PWR_HYDLSS, VID_PWR_MAXCAPACITY, VID_PWR_PER_BALGEN, VID_PWR_PER_GCGEN, VID_PWR_PER_MINPUMPGEN, VID_PWR_PER_MINRELGEN, VID_PWR_PER_POWGEN, VID_PWR_PER_PUMPGEN, VID_PWR_PLNTFAC, VID_PWR_PWRCAP, VID_PWR_REQUIRED, VID_PWR_SPILL, VID_PWR_VIOL, VID_RCH_SEEP, VID_REACH_FLOW_CUMLOC, VID_REACH_FLOW_IN, VID_REACH_FLOW_REG, VID_REACH_FLOW_UNREG, VID_RES_GCRELEASE, VID_RES_HOLDOUT, VID_RES_RELEASE, VID_SPILL_FLOW, VID_SPILL_HINDFLOW, VID_STATE_VAR, VID_STATE_VAR_HIND, VID_TAIL_ELEV, VID_UNCTOUT_FLOW, VID_UNCTOUT_HINDFLW, VID_WA_ACCOUNT_DEMAND, VID_WA_ACCOUNT_INFLOW, VID_WA_CHARGES, VID_WA_CREDIT, VID_WA_CURRENT_MAX_VOLUME, VID_WA_CURRENT_VOLUME, VID_WA_HINDSTOR, VID_WA_LOSSES, VID_WA_PUMPBACK, VID_WA_RULE_DEMAND, VID_WA_SURPLUS, VID_WA_TRANSFERS, WQID_OFFSETFields inherited from interface hec.rss.model.RssReturnStatusConstants
RTN_CANCELED, RTN_NOPROBLEM, RTN_OPCHANGE, RTN_PROBLEM -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for the InducedSurchargeOpRule objectInducedSurchargeOpRule(String name) Constructor for the InducedSurchargeOpRule object -
Method Summary
Modifier and TypeMethodDescriptiondoubleaverageInflow(RunTimeStep rts, double avgPeriod) Description of the Methodclone()Description of the MethodvoidevaluateLimits(RunTimeStep rts, int iteration) calculates the limiting value for this rule for the given time step.evaluateRule(RunTimeStep rts, double initialValue) compares the intial value to rule constraints and returns the adjusted valuebooleanDescription of the Methoddoubleerror function for solving for discharge flow q = current estimate for induced surcharge discharge flow qin = reservoir inflow s1 = current reservoir storage tr = time of recession constant ( seconds )getActiveTSRecordProxies(Vector vec, int iotype) add the time series record proxies associated current compute.doublegetDischargeValue(double qin, double elev) Compute induced surcharge discharge qin is inflow to reservoir, elev is current reservoir elevationdoublegetElevationForInflowRelease(double qin, double release) Compute elevation value for induced surcharge given reservoir inflow and release.doublegetElevationForRateOfRise(double rateOfRise, double release) Compute elevation value for induced surcharge given reservoir rate of rise and release.intGets the fallingPoolOption attribute of the InducedSurchargeOpRule objectdoubletime threshold for determining falling poolgetFieldObject(Field fld) This method allows access to java.lang.reflect.Field objects within the implementing class.get IndependentVariable of inflow for setting time averaging and offset optionsdoublerelease is the previous period release plus inflow averaged over timeGets the inflowTimeSeriesOption attribute of the InducedSurchargeOpRule objectdouble[]getOpValue(RunTimeStep rts) returns the operation value based on the previously computed rule limit.Gets the outletUsageModel attribute of the InducedSurchargeOpRule objectdouble[]Inflow values for family of curves on induced surcharge reference plotdoublelookback time for computing rate of rise for surcharge plottingdouble[]Rate of rise values for family of curves on induced surcharge reference plotdoublegetRatio()release ratio of inflowdoubleGets the ratioPeriod attribute of the InducedSurchargeOpRule objectdoubleGets the recessionConstant attribute of the InducedSurchargeOpRule objectvoidgetReferencedStateVariables(List svlist) adds StateVariables refereced by this rule to the given listreturns the TSRecordProxies required by independent variable proxies are only included if they are associated with elements that are not downstream of this reservoir - if they are downstream, then the dependency is accomodated by extending the iterationBlock in the ordering logicintget the limit type of this rule should be implemented by all subclasses of OpRuleGets the surchargeCurve attribute of the InducedSurchargeOpRule objectFor user defined ESRD curves, get IndependentVariable for table lookup.doublefalling pool elevation below which induced surcharge rule not appliedbooleandouble[]double[]double[]booleanbooleanprep for computeprotected booleanInitialize the independent variable iv.voidoutputReport(AlternativeInputReport report, org.jdom.Element elem) Alternative Input Report Interface for data.booleanreservoirFalling(RunTimeStep rts, double avgPeriod) Description of the MethodvoidrestoreFunctionState(int stateid) restore the state of the element and its function matching the given identifier - restores subreach flowsvoidsaveFunctionState(int stateid) save the current state of the element and its function with the given identifier - saves subreach flowsvoidsaveHotstartState(ElementHotstartState elementHotstartState, int stateId) voidsetFallingPoolOption(int iopt) Sets the fallingPoolOption attribute of the InducedSurchargeOpRule objectvoidsetFallingPoolThresholdTime(double tim) Sets the fallingPoolThresholdTime attribute of the InducedSurchargeOpRule objectbooleansetFieldObject(Field fld, Object fobj) Sets the fieldObject attribute of the InducedSurchargeOpRule objectvoidsetIndependentVariable(IndependentVariable independentVariable) Set IndependentVariable of inflow for setting time averaging and offset optionsvoidsetInflowAvgPeriod(double period) Sets the inflowAvgPeriod attribute of the InducedSurchargeOpRule objectvoidsetInflowValues(double[] inflowValues) voidSets the outletUsageModel attribute of the InducedSurchargeOpRule objectvoidsetPlotInflowValues(double[] inflows) Sets the plotInflowValues attribute of the InducedSurchargeOpRule objectvoidsetPlotRateOfRiseLookbackHours(double lookbackHours) Sets the plotRateOfRiseLookbackHours attribute of the InducedSurchargeOpRule objectvoidsetPlotRateOfRiseValues(double[] rateOfRise) Sets the plotRateOfRiseValues attribute of the InducedSurchargeOpRule objectvoidsetRatio(double ratio) Sets the ratio attribute of the InducedSurchargeOpRule objectvoidsetRatioPeriod(double period) Sets the ratioPeriod attribute of the InducedSurchargeOpRule objectvoidsetRecessionConstant(double d) Sets the recessionConstant attribute of the InducedSurchargeOpRule objectvoidSets the surchargeCurve attribute of the InducedSurchargeOpRule objectvoidFor user defined ESRD curves, get additional user defined IndependentVariable of inflow for setting time averaging and offset optionsvoidSets the timeSeriesOptionModel attribute of the InducedSurchargeOpRule objectvoidsetTopOfFloodControlPool(double d) Sets the topOfFloodControlPool attribute of the InducedSurchargeOpRule objectvoidsetUseRateOfRise(boolean tf) return last state of surcharge plotvoidsetUserCurvesAreRateOfRise(boolean tf) voidsetUserDefinedIsCurves(PairedValuesExt userDefinedIsCurves, double[] inflows) voidsetUserDefinedIsCurvesForFunctionOfInflow(PairedValuesExt userDefinedIsCurves, double[] inflow) Stores a copy of the Function Of Reservoir Inflow ESRD curvesvoidsetUserDefinedIsCurvesForRateOfRise(PairedValuesExt userDefinedIsCurves, double[] rateOfRise) Stores a copy of the Rate of Rise ESRD curvesvoidsetUseTableLookupIndependentVariable(boolean set) Set true if the ESRD curve uses an additional user defined independent VariablevoidsetUseUserDefinedIsCurves(boolean tf) voidRegenerates the list of all TSProxies required for this location.booleanDescription of the MethodbooleanIf the ESRD curve uses an additional user defined independent Variable return trueMethods inherited from class hec.rss.model.OpRule
applyHindcastData, checkRisingFallingCondition, computeStepLimit, evaluateRule, evaluateRule, evaulatePerformance, getAveragingPeriod, getController, getDayOfWeekFactor, getDemandScale, getElementDependencies, getEnableRiseFallCondition, getGmtOffset, getKeyStringForObject, getLargestDayOfWeekFactor, getLargestTimeOfDayFactor, getMultiplier, getNetwork, getObjectForKeyString, getOperationsElement, getParameterType, getPowerOpValue, getPriority, getReservoirElement, getRiseFallCondition, getRiseFallTolerance, getRssSystem, getSystem, getTargetTSRecordProxy, getTimeOfDayFactor, getTimeOfDayMultiplier, getTSProxyName, getUnitSystem, initForPostProcessing, initOperationStep, isActive, isDnstrmRule, isLocalRule, isPerAvgRule, resetChildOwnership, restoreHotstartState, riseFallConditionIsValid, saveHotstartState, setAveragingPeriod, setController, setDemandScale, setEnableRiseFallCondition, setMultiplier, setParameterType, setPeriodAverageLimit, setPriority, setRiseFallCondition, setRiseFallTolerance, setSystem, setTimeOfDayMultiplier, setUseDayOfWeekMultiplier, setUseDemandScale, setUsePeriodAverageLimit, setUseTimeOfDayMultiplier, toString, updateByDemandScale, useDayOfWeekMultiplier, useDemandScale, usePeriodAverageLimit, useTimeOfDayMultiplierMethods inherited from class hec.rss.model.RssTSLocationObject
addTSRecord, addTSRecordProxy, addTSRecordProxy, addTSRecordProxy, clearTSProxyList, copyInto, getComputedTSRecordProxies, getTSArray, getTSArray, getTSArray, getTSArray, getTSContainer, getTSContainer, getTSDataSet, getTSRecordProxies, getTSRecordProxy, getTSRecordProxy, getTSRecordProxy, getTSRecordProxy, getTSRecordProxy, getTSRecordProxyVec, removeTSRecord, removeTSRecordProxy, removeTSRecordProxyMethods inherited from class hec.lang.NamedType
addModifiableListener, compareTo, fireModifiedStateChanged, getDescription, getDisplayName, getIgnoreModifiedEvents, getIndex, getName, isModified, isValid, readResolve, removeModifiableListener, rename, set, setDescription, setIgnoreModifiedEvents, setIndex, setModified, setName, setValid, update, useRecursiveModifiedTestMethods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
-
Field Details
-
UNDEF_OPTION
public static final int UNDEF_OPTIONDescription of the Field- See Also:
-
RATIO_OF_INFLOW
public static final int RATIO_OF_INFLOWDescription of the Field- See Also:
-
AVG_RELEASE_AND_INFLOW
public static final int AVG_RELEASE_AND_INFLOWDescription of the Field- See Also:
-
PEAK_GATE_OPENING
public static final int PEAK_GATE_OPENINGDescription of the Field- See Also:
-
PEAK_RELEASE
public static final int PEAK_RELEASEDescription of the Field- See Also:
-
-
Constructor Details
-
InducedSurchargeOpRule
public InducedSurchargeOpRule()Constructor for the InducedSurchargeOpRule object -
InducedSurchargeOpRule
Constructor for the InducedSurchargeOpRule object- Parameters:
name- String
-
-
Method Details
-
evaluateLimits
calculates the limiting value for this rule for the given time step. as of 12/04- Overrides:
evaluateLimitsin classOpRule- Parameters:
rts-iteration-
-
getOpValue
returns the operation value based on the previously computed rule limit. As of 12/04- Overrides:
getOpValuein classOpRule- Parameters:
rts-- Returns:
-
initOtherIndependentVariable
Initialize the independent variable iv. Use to initialize iv for ESRD table lookup for parameters other than reservoir inflow.- Parameters:
iv-- Returns:
-
setInflowValues
public void setInflowValues(double[] inflowValues) - Parameters:
inflowValues-
-
setRecessionConstant
public void setRecessionConstant(double d) Sets the recessionConstant attribute of the InducedSurchargeOpRule object- Parameters:
d- The new recessionConstant value
-
setTopOfFloodControlPool
public void setTopOfFloodControlPool(double d) Sets the topOfFloodControlPool attribute of the InducedSurchargeOpRule object- Parameters:
d- The new topOfFloodControlPool value
-
setFallingPoolThresholdTime
public void setFallingPoolThresholdTime(double tim) Sets the fallingPoolThresholdTime attribute of the InducedSurchargeOpRule object- Parameters:
tim- The new fallingPoolThresholdTime value
-
setFallingPoolOption
public void setFallingPoolOption(int iopt) Sets the fallingPoolOption attribute of the InducedSurchargeOpRule object- Parameters:
iopt- The new fallingPoolOption value
-
setRatio
public void setRatio(double ratio) Sets the ratio attribute of the InducedSurchargeOpRule object- Parameters:
ratio- The new ratio value
-
setRatioPeriod
public void setRatioPeriod(double period) Sets the ratioPeriod attribute of the InducedSurchargeOpRule object- Parameters:
period- The new ratioPeriod value
-
setInflowAvgPeriod
public void setInflowAvgPeriod(double period) Sets the inflowAvgPeriod attribute of the InducedSurchargeOpRule object- Parameters:
period- The new inflowAvgPeriod value
-
setSurchargeCurve
Sets the surchargeCurve attribute of the InducedSurchargeOpRule object- Parameters:
pv- The new surchargeCurve value
-
setPlotInflowValues
public void setPlotInflowValues(double[] inflows) Sets the plotInflowValues attribute of the InducedSurchargeOpRule object- Parameters:
inflows- The new plotInflowValues value
-
setPlotRateOfRiseValues
public void setPlotRateOfRiseValues(double[] rateOfRise) Sets the plotRateOfRiseValues attribute of the InducedSurchargeOpRule object- Parameters:
rateOfRise- The new plotRateOfRiseValues value
-
setPlotRateOfRiseLookbackHours
public void setPlotRateOfRiseLookbackHours(double lookbackHours) Sets the plotRateOfRiseLookbackHours attribute of the InducedSurchargeOpRule object- Parameters:
lookbackHours- The new plotRateOfRiseLookbackHours value
-
setUseRateOfRise
public void setUseRateOfRise(boolean tf) return last state of surcharge plot- Parameters:
tf- The new useRateOfRise value
-
setOutletUsageModel
Sets the outletUsageModel attribute of the InducedSurchargeOpRule object- Parameters:
model- The new outletUsageModel value
-
setTimeSeriesOptionModel
Sets the timeSeriesOptionModel attribute of the InducedSurchargeOpRule object- Parameters:
model- The new timeSeriesOptionModel value
-
setFieldObject
Sets the fieldObject attribute of the InducedSurchargeOpRule object- Specified by:
setFieldObjectin interfaceFieldAccessor- Overrides:
setFieldObjectin classOpRule- Parameters:
fld- The new fieldObject valuefobj- The new fieldObject value- Returns:
- Description of the Returned Value
-
getInflowValues
public double[] getInflowValues()- Returns:
- double array of inflow values
-
getRecessionConstant
public double getRecessionConstant()Gets the recessionConstant attribute of the InducedSurchargeOpRule object- Returns:
- The recessionConstant value
-
getTopOfFloodControlPool
public double getTopOfFloodControlPool()falling pool elevation below which induced surcharge rule not applied- Returns:
- The topOfFloodControlPool value
-
getFallingPoolThresholdTime
public double getFallingPoolThresholdTime()time threshold for determining falling pool- Returns:
- The fallingPoolThresholdTime value
-
getFallingPoolOption
public int getFallingPoolOption()Gets the fallingPoolOption attribute of the InducedSurchargeOpRule object- Returns:
- The fallingPoolOption value
-
getRatio
public double getRatio()release ratio of inflow- Returns:
- The ratio value
-
getRatioPeriod
public double getRatioPeriod()Gets the ratioPeriod attribute of the InducedSurchargeOpRule object- Returns:
- The ratioPeriod value
-
getInflowAvgPeriod
public double getInflowAvgPeriod()release is the previous period release plus inflow averaged over time- Returns:
- The inflowAvgPeriod value
-
getSurchargeCurve
Gets the surchargeCurve attribute of the InducedSurchargeOpRule object- Returns:
- The surchargeCurve value
-
getDischargeValue
public double getDischargeValue(double qin, double elev) Compute induced surcharge discharge qin is inflow to reservoir, elev is current reservoir elevation- Parameters:
qin- Description of Parameterelev- Description of Parameter- Returns:
- The dischargeValue value
-
getElevationForInflowRelease
public double getElevationForInflowRelease(double qin, double release) Compute elevation value for induced surcharge given reservoir inflow and release. This function is used in computing an induced surcharge curve for a given inflow. Release is then the independent variable and elevation the dependent variable for the curve.- Parameters:
qin- Description of Parameterrelease- Description of Parameter- Returns:
- The elevationForInflowRelease value
-
getElevationForRateOfRise
public double getElevationForRateOfRise(double rateOfRise, double release) Compute elevation value for induced surcharge given reservoir rate of rise and release. This function is used in computing an induced surcharge curve for a given rate of rise. Release is then the independent variable and elevation the dependent variable for the curve.- Parameters:
rateOfRise- Description of Parameterrelease- Description of Parameter- Returns:
- The elevationForRateOfRise value
-
setUserDefinedIsCurves
-
getUserDefinedIsCurves
-
getUserDefinedIsInflows
public double[] getUserDefinedIsInflows() -
setUseUserDefinedIsCurves
public void setUseUserDefinedIsCurves(boolean tf) -
getUseUserDefinedIsCurves
public boolean getUseUserDefinedIsCurves() -
setUserCurvesAreRateOfRise
public void setUserCurvesAreRateOfRise(boolean tf) -
getUserCurvesAreRateOfRise
public boolean getUserCurvesAreRateOfRise() -
setUserDefinedIsCurvesForRateOfRise
public void setUserDefinedIsCurvesForRateOfRise(PairedValuesExt userDefinedIsCurves, double[] rateOfRise) Stores a copy of the Rate of Rise ESRD curves- Parameters:
userDefinedIsCurves-rateOfRise-
-
getUserDefinedIsCurvesForRateOfRise
-
getUserDefinedRateOfRise
public double[] getUserDefinedRateOfRise() -
setUserDefinedIsCurvesForFunctionOfInflow
public void setUserDefinedIsCurvesForFunctionOfInflow(PairedValuesExt userDefinedIsCurves, double[] inflow) Stores a copy of the Function Of Reservoir Inflow ESRD curves- Parameters:
userDefinedIsCurves-inflow-
-
getUserDefinedIsCurvesForFunctionOfInflow
-
getUserDefinedIsReservoirInflow
public double[] getUserDefinedIsReservoirInflow() -
getPlotInflowValues
public double[] getPlotInflowValues()Inflow values for family of curves on induced surcharge reference plot- Returns:
- The plotInflowValues value
-
getPlotRateOfRiseValues
public double[] getPlotRateOfRiseValues()Rate of rise values for family of curves on induced surcharge reference plot- Returns:
- The plotRateOfRiseValues value
-
getPlotRateOfRiseLookbackHours
public double getPlotRateOfRiseLookbackHours()lookback time for computing rate of rise for surcharge plotting- Returns:
- The plotRateOfRiseLookbackHours value
-
getInflowTimeSeriesOption
Gets the inflowTimeSeriesOption attribute of the InducedSurchargeOpRule object- Returns:
- The inflowTimeSeriesOption value
-
getOutletUsageModel
Gets the outletUsageModel attribute of the InducedSurchargeOpRule object- Returns:
- The outletUsageModel value
-
setIndependentVariable
Set IndependentVariable of inflow for setting time averaging and offset options -
setTableLookupIndependentVariable
For user defined ESRD curves, get additional user defined IndependentVariable of inflow for setting time averaging and offset options -
getIndependentVariable
get IndependentVariable of inflow for setting time averaging and offset options- Returns:
-
getTableLookupIndependentVariable
For user defined ESRD curves, get IndependentVariable for table lookup. Can be different from reservoir inflow- Returns:
-
getFieldObject
Description copied from interface:FieldAccessorThis method allows access to java.lang.reflect.Field objects within the implementing class.- Specified by:
getFieldObjectin interfaceFieldAccessor- Overrides:
getFieldObjectin classOpRule- Parameters:
fld- Description of Parameter- Returns:
- The fieldObject value
-
initializeCompute
public boolean initializeCompute()prep for compute- Overrides:
initializeComputein classOpRule- Returns:
- Description of the Returned Value
-
evaluateRule
compares the intial value to rule constraints and returns the adjusted value- Overrides:
evaluateRulein classOpRule- Parameters:
rts- Description of ParameterinitialValue- Description of Parameter- Returns:
- Description of the Returned Value
-
saveFunctionState
public void saveFunctionState(int stateid) save the current state of the element and its function with the given identifier - saves subreach flows- Overrides:
saveFunctionStatein classOpRule- Parameters:
stateid- identifier for the state
-
restoreFunctionState
public void restoreFunctionState(int stateid) restore the state of the element and its function matching the given identifier - restores subreach flows- Overrides:
restoreFunctionStatein classOpRule- Parameters:
stateid- identifier for the state
-
saveHotstartState
-
clone
Description of the Method -
fallingPoolOptionsValid
public boolean fallingPoolOptionsValid()Description of the Method- Returns:
- Description of the Returned Value
-
averageInflow
Description of the Method- Parameters:
rts- Description of ParameteravgPeriod- Description of Parameter- Returns:
- Description of the Returned Value
-
reservoirFalling
Description of the Method- Parameters:
rts- Description of ParameteravgPeriod- Description of Parameter- Returns:
- Description of the Returned Value
-
fq
error function for solving for discharge flow q = current estimate for induced surcharge discharge flow qin = reservoir inflow s1 = current reservoir storage tr = time of recession constant ( seconds )- Parameters:
s1- Description of Parameterqin- Description of Parameterstorage- Description of Parameterq- Description of Parameter- Returns:
- Description of the Returned Value
-
useRateOfRise
public boolean useRateOfRise()Description of the Method- Returns:
- Description of the Returned Value
-
getRuleLimitType
public int getRuleLimitType()get the limit type of this rule should be implemented by all subclasses of OpRule- Overrides:
getRuleLimitTypein classOpRule
-
getActiveTSRecordProxies
add the time series record proxies associated current compute. subclassses that over-ride this method should also call this method- Overrides:
getActiveTSRecordProxiesin classOpRule
-
useTableLookupIndependentVariable
public boolean useTableLookupIndependentVariable()If the ESRD curve uses an additional user defined independent Variable return true- Returns:
- true if uses additional IV
-
setUseTableLookupIndependentVariable
public void setUseTableLookupIndependentVariable(boolean set) Set true if the ESRD curve uses an additional user defined independent Variable- Parameters:
_useTableLookupIndependentVariable-
-
updateTSProxyList
public void updateTSProxyList()Regenerates the list of all TSProxies required for this location. This list includes all records that are generated by this function even if the records are held in another objects (e.g. RssNode) proxy list sub-classes of OpRule may over-ride this method if they use TSRecordProxies but should also call this method- Overrides:
updateTSProxyListin classOpRule
-
getRequiredTSRecordProxies
returns the TSRecordProxies required by independent variable proxies are only included if they are associated with elements that are not downstream of this reservoir - if they are downstream, then the dependency is accomodated by extending the iterationBlock in the ordering logic- Overrides:
getRequiredTSRecordProxiesin classOpRule
-
getReferencedStateVariables
adds StateVariables refereced by this rule to the given list- Overrides:
getReferencedStateVariablesin classOpRule- Parameters:
svlist- unique list of state variables
-
outputReport
Description copied from interface:AltInputReportInfcAlternative Input Report Interface for data.- Specified by:
outputReportin interfaceAltInputReportInfc- Overrides:
outputReportin classOpRule
-