Package hec.rss.model
Class Spillway
- All Implemented Interfaces:
AsciiSerializable,FieldAccessor,TSLocation,AltInputReportInfc,RssModelVariableConstants,RssReturnStatusConstants,RssTSLocation,Serializable,Cloneable,Comparable,Observer,rma.lang.Modifiable
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields 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 TypeMethodDescriptionvoidapplies specific hindcast data for computeclone()clone methodintcomputeForecastStep(RunTimeStep runtime) intcomputeForecastStep(RunTimeStep runtime, double[] xt, double[] et, int tcnt) intcomputeHindcastStep(RunTimeStep runtime) doubleCompute the spillway flow at time step, rts.doublecomputeSubStepFlow(RunTimeStep rts, double xt, double et) getActiveTSProxies(Vector vec, int iotype) returns a vector of required input, or generated output TSRecordProxies used in the current alternative default implementation function, assume all records are activedoublegetEstimatedFlow(RunTimeStep rts, double elev0, double elev1) doublegetEstimatedFlow(RunTimeStep rts, int iteration) return the best current estimate of flow at the given time stepdoublegetEstimatedROD(RunTimeStep rts, int iteration) doublegetEstimatedROI(RunTimeStep rts, int iteration) intvoidgetHindcastDataList(Vector hvec) Default implementation of getHindcastDataList does not add any records to the list.doublegetHindcastValue(RunTimeStep runtime) doubledoublereturns the minimum elevation at which a spill may occurdoublegetRelease(double elev) return flow/release for given elevationintdoublevoidgetTopOfDam(hec.data.ParamDouble pd) doubleGets the Weir CoefficientdoublevoidgetWidthOfDam(hec.data.ParamDouble pd) booleantest whether default spillway values have been changedbooleaninitialize prior to a computebooleanisNodeComputed(int iorder, RssNode node, Integer idir) returns true if node is computed by the function, the function computes the flow at all nodes so it is always truevoidoutputReport(AlternativeInputReport report, org.jdom.Element elem) Alternative Input Report Interface for data.voidbooleansetHindcastCondition(int cond) voidsetInitialSpill(double s) booleansetSpillFunctionType(int spillFuncType) voidsetTopOfDam(double dbl) Sets the value for the top of the damvoidsetTopOfDam(hec.data.ParamDouble pd) voidCalled just before ascii serialization.voidsetWeirCoef(double dbl) Sets the Weir CoefficientvoidsetWidthOfDam(double dbl) Sets the value for the width of the damvoidsetWidthOfDam(hec.data.ParamDouble pd) voidRegenerates the list of all TSProxies required for this location.Methods inherited from class hec.rss.model.ControlStructure
copyInto, getAdjustableParameter, getFieldObject, getIntakeGeometry, initForecastOperations, periodAverageFlow, periodAverageFlow, setFieldObject, setIntakeGeometryMethods inherited from class hec.rss.model.Function
cleanupFromDeSerialization, copyInto, findAdjParam, getComputedTSRecordProxies, getComputedTSRecordProxies, getDisplayName, getElement, getFlowVolume, getFlowVolume, getForecastEquation, getFullName, getHindcastEquation, getKeyStringForObject, getObjectForKeyString, getOutputBPart, getSystem, getUnitSystem, initForecastLoop, initForPostProcessing, initHindcastLoop, initTSVals, printErrorMessage, printErrorMessage, readData, resetParent, restoreFunctionState, restoreHotstartState, saveFunctionState, saveHotstartState, setElement, updateWQTSProxyList, writeDataMethods inherited from class hec.rss.model.RssTSLocationObject
addTSRecord, addTSRecordProxy, addTSRecordProxy, addTSRecordProxy, clearTSProxyList, copyInto, getActiveTSRecordProxies, 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, getIgnoreModifiedEvents, getIndex, getName, isModified, isValid, readResolve, removeModifiableListener, rename, set, setDescription, setIgnoreModifiedEvents, setIndex, setModified, setName, setValid, toString, update, useRecursiveModifiedTestMethods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChangedMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface hec.rss.model.RssTSLocation
getTSRecordProxyMethods inherited from interface hec.model.TSLocation
getTSDataSet
-
Field Details
-
WEIR_COEF
public static final int WEIR_COEF- See Also:
-
ELEV_VS_OUTFLOW
public static final int ELEV_VS_OUTFLOW- See Also:
-
FIRST_SPILLFUNC_TYPE
public static final int FIRST_SPILLFUNC_TYPE- See Also:
-
LAST_SPILLFUNC_TYPE
public static final int LAST_SPILLFUNC_TYPE- See Also:
-
KNOWN_SPILL_CONSTANT
public static final int KNOWN_SPILL_CONSTANT- See Also:
-
KNOWN_SPILL_TS
public static final int KNOWN_SPILL_TS- See Also:
-
FIRST_HINDCAST_COND
public static final int FIRST_HINDCAST_COND- See Also:
-
LAST_HINDCAST_COND
public static final int LAST_HINDCAST_COND- See Also:
-
-
Constructor Details
-
Spillway
public Spillway() -
Spillway
-
-
Method Details
-
getEstimatedFlow
-
getEstimatedFlow
return the best current estimate of flow at the given time step- Overrides:
getEstimatedFlowin classControlStructure- Parameters:
rts- the time step- Returns:
- flow estimate
-
getEstimatedROI
- Overrides:
getEstimatedROIin classControlStructure
-
getEstimatedROD
- Overrides:
getEstimatedRODin classControlStructure
-
getActiveTSProxies
returns a vector of required input, or generated output TSRecordProxies used in the current alternative default implementation function, assume all records are active- Overrides:
getActiveTSProxiesin classFunction
-
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- Overrides:
updateTSProxyListin classFunction
-
setupForSerialization
public void setupForSerialization()Called just before ascii serialization. Prepares the paired data values by setting there dss record path names- Overrides:
setupForSerializationin classFunction
-
applyHindcastData
applies specific hindcast data for compute- Overrides:
applyHindcastDatain classFunction
-
getHindcastDataList
Description copied from class:FunctionDefault implementation of getHindcastDataList does not add any records to the list. This method is overriden in specific functions that require hindcast data.- Overrides:
getHindcastDataListin classFunction
-
clone
clone method- Overrides:
clonein classControlStructure
-
getMinSpillElevation
public double getMinSpillElevation()returns the minimum elevation at which a spill may occur -
isNodeComputed
returns true if node is computed by the function, the function computes the flow at all nodes so it is always true- Overrides:
isNodeComputedin classFunction- Parameters:
iorder- index of node in element vectornode- node objectidir- integer indicating whether node is inflow or outflow- Returns:
- true if computed, else false
-
initialize
public boolean initialize()initialize prior to a compute- Overrides:
initializein classFunction
-
getHindcastValue
-
computeHindcastStep
- Overrides:
computeHindcastStepin classFunction
-
computeForecastStep
- Overrides:
computeForecastStepin classFunction
-
computeForecastStep
- Overrides:
computeForecastStepin classFunction
-
computeSubStepFlow
- Overrides:
computeSubStepFlowin classFunction
-
computeStepFlow
Compute the spillway flow at time step, rts. Computes end of period instantaneous flow or period average flow depending on the compute calculation option. Assumes that both rts.step and rts.step-1 are valid time series array indexes. This method was introduced for the rs4engine.- Parameters:
rts-- Returns:
- end of period instantaneous flow or period average flow depending on the compute calculation option
-
getRelease
public double getRelease(double elev) return flow/release for given elevation- Overrides:
getReleasein classControlStructure
-
getTopOfDam
public double getTopOfDam() -
getTopOfDam
public void getTopOfDam(hec.data.ParamDouble pd) -
setTopOfDam
public void setTopOfDam(hec.data.ParamDouble pd) -
getWidthOfDam
public void getWidthOfDam(hec.data.ParamDouble pd) -
setWidthOfDam
public void setWidthOfDam(hec.data.ParamDouble pd) -
getWidthOfDam
public double getWidthOfDam() -
setTopOfDam
public void setTopOfDam(double dbl) Sets the value for the top of the dam -
setWidthOfDam
public void setWidthOfDam(double dbl) Sets the value for the width of the dam -
getWeirCoef
public double getWeirCoef()Gets the Weir Coefficient -
setWeirCoef
public void setWeirCoef(double dbl) Sets the Weir Coefficient -
hasDefaultParameters
public boolean hasDefaultParameters()test whether default spillway values have been changed- Overrides:
hasDefaultParametersin classFunction
-
setSpillFunctionType
public boolean setSpillFunctionType(int spillFuncType) -
getSpillFunctionType
public int getSpillFunctionType() -
getElevOutflowValues
-
setElevOutflowValues
-
getHindcastCondition
public int getHindcastCondition() -
setHindcastCondition
public boolean setHindcastCondition(int cond) -
getInitialSpill
public double getInitialSpill() -
setInitialSpill
public void setInitialSpill(double s) -
outputReport
Description copied from interface:AltInputReportInfcAlternative Input Report Interface for data.- Specified by:
outputReportin interfaceAltInputReportInfc
-