Package hec.rss.model
Class RateChangeElevLimitOpRule
java.lang.Object
java.util.Observable
hec.lang.NamedType
hec.rss.model.RssTSLocationObject
hec.rss.model.OpRule
hec.rss.model.RateChangeElevLimitOpRule
- All Implemented Interfaces:
AsciiSerializable,FieldAccessor,TSLocation,DemandRuleInf,AltInputReportInfc,RssModelVariableConstants,RssReturnStatusConstants,RssTSLocation,Serializable,Cloneable,Comparable,Observer,rma.lang.Modifiable
public class RateChangeElevLimitOpRule
extends OpRule
implements AsciiSerializable, Serializable, Cloneable, DemandRuleInf
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final Stringstatic final intstatic final intstatic final intstatic final intstatic final StringFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()clone 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 valuegetFieldObject(Field fld) This method allows access to java.lang.reflect.Field objects within the implementing class.intintdoublevoidgetMaxRateOfChange(hec.data.ParamDouble pd) getOpValue(RunTimeStep rts) returns the operation value based on the previously computed rule limit.doubleintget the limit type of this rule should be implemented by all subclasses of OpRuleintgetType()Gets the water account.booleanprep for computebooleanbooleanisValid()Check that rule data is valid and available for computevoidbooleansetFieldObject(Field fld, Object fobj) This allows access to fields withing the implementing object to set there data.voidsetFunctionType(int functionType) voidsetInstantaneous(boolean tf) voidsetInterpolationType(int type) voidsetMaxRateOfChange(double d) voidsetMaxRateOfChange(hec.data.ParamDouble pd) voidsetPeriodAverageTime(double hours) voidsetType(int type) voidSets the water account.Methods inherited from class hec.rss.model.OpRule
applyHindcastData, checkRisingFallingCondition, computeStepLimit, evaluateRule, evaluateRule, evaulatePerformance, getActiveTSRecordProxies, getAveragingPeriod, getController, getDayOfWeekFactor, getDemandScale, getElementDependencies, getEnableRiseFallCondition, getGmtOffset, getKeyStringForObject, getLargestDayOfWeekFactor, getLargestTimeOfDayFactor, getMultiplier, getNetwork, getObjectForKeyString, getOperationsElement, getParameterType, getPowerOpValue, getPriority, getReferencedStateVariables, getRequiredTSRecordProxies, getReservoirElement, getRiseFallCondition, getRiseFallTolerance, getRssSystem, getSystem, getTargetTSRecordProxy, getTimeOfDayFactor, getTimeOfDayMultiplier, getTSProxyName, getUnitSystem, initForPostProcessing, initOperationStep, isActive, isDnstrmRule, isLocalRule, isPerAvgRule, outputReport, resetChildOwnership, restoreFunctionState, restoreHotstartState, riseFallConditionIsValid, saveFunctionState, saveHotstartState, setAveragingPeriod, setController, setDemandScale, setEnableRiseFallCondition, setMultiplier, setParameterType, setPeriodAverageLimit, setPriority, setRiseFallCondition, setRiseFallTolerance, setSystem, setTimeOfDayMultiplier, setUseDayOfWeekMultiplier, setUseDemandScale, setUsePeriodAverageLimit, setUseTimeOfDayMultiplier, toString, updateByDemandScale, updateTSProxyList, 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, 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
-
DECREASING_STR
- See Also:
-
INCREASING_STR
- See Also:
-
DECREASING
public static final int DECREASING- See Also:
-
INCREASING
public static final int INCREASING- See Also:
-
CONSTANT
public static final int CONSTANT- See Also:
-
FUNCTION_OF_INFLOW
public static final int FUNCTION_OF_INFLOW- See Also:
-
FUNCTION_OF_RELEASE
public static final int FUNCTION_OF_RELEASE- See Also:
-
FUNCTION_OF_ELEVATION
public static final int FUNCTION_OF_ELEVATION- See Also:
-
-
Constructor Details
-
RateChangeElevLimitOpRule
public RateChangeElevLimitOpRule() -
RateChangeElevLimitOpRule
-
-
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:
-
initializeCompute
public boolean initializeCompute()prep for compute- Overrides:
initializeComputein classOpRule
-
isValid
public boolean isValid()Check that rule data is valid and available for compute -
evaluateRule
compares the intial value to rule constraints and returns the adjusted value- Overrides:
evaluateRulein classOpRule
-
clone
Description copied from class:RssTSLocationObjectclone method -
setChangeLimitCurve
-
getChangeLimitCurve
-
getFunctionType
public int getFunctionType() -
setFunctionType
public void setFunctionType(int functionType) -
setInterpolationType
public void setInterpolationType(int type) -
getInterpolationType
public int getInterpolationType() -
setInstantaneous
public void setInstantaneous(boolean tf) -
isInstantaneous
public boolean isInstantaneous() -
setType
public void setType(int type) -
getType
public int getType() -
setMaxRateOfChange
public void setMaxRateOfChange(hec.data.ParamDouble pd) -
setMaxRateOfChange
public void setMaxRateOfChange(double d) -
getMaxRateOfChange
public void getMaxRateOfChange(hec.data.ParamDouble pd) -
getMaxRateOfChange
public double getMaxRateOfChange() -
getPeriodAverageTime
public double getPeriodAverageTime() -
setPeriodAverageTime
public void setPeriodAverageTime(double hours) -
getRuleLimitType
public int getRuleLimitType()get the limit type of this rule should be implemented by all subclasses of OpRule- Overrides:
getRuleLimitTypein classOpRule
-
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- The field to get.- Returns:
- The data object that is stored in the given field
-
setFieldObject
Description copied from interface:FieldAccessorThis allows access to fields withing the implementing object to set there data.- Specified by:
setFieldObjectin interfaceFieldAccessor- Overrides:
setFieldObjectin classOpRule- Parameters:
fld- The java field object representing the member field to be setfobj- The data to set in that field- Returns:
- returns true if successful
-
getWaterAccount
Description copied from interface:DemandRuleInfGets the water account.- Specified by:
getWaterAccountin interfaceDemandRuleInf- Returns:
- the water account
-
setWaterAccount
Description copied from interface:DemandRuleInfSets the water account.- Specified by:
setWaterAccountin interfaceDemandRuleInf- Parameters:
wa- the new water account
-