Package hec.rss.model
Class TimeStepRoutingElement
java.lang.Object
java.util.Observable
hec.lang.NamedType
hec.rss.model.Element
hec.rss.model.TimeStepRoutingElement
- All Implemented Interfaces:
AsciiSerializable,FieldAccessor,TSLocation,ITimeStepRoutingElement,PlotVariableConstants,RssModelVariableConstants,RssReturnStatusConstants,RssTSLocation,hec.watershed.res.model.PlottableObject,Serializable,Cloneable,Comparable,Observer,rma.lang.Modifiable
- Direct Known Subclasses:
ReachElement
Simple Element that serves the purpose of allowing time step dependent routing for
elements that just need to define TS Routing.
- See Also:
-
Field Summary
Fields inherited from class hec.rss.model.Element
DIVERSION_ELEMENT_ID, DIVERTEDOUTLET_ELEMENT_ID, INFLOW, JUNCTION_ELEMENT_ID, OUTFLOW, REACH_ELEMENT_ID, RESERVIOR_ELEMENT_IDFields 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.PlotVariableConstants
PV_ELEVATION, PV_REGULATED_FLOW, PV_REGULATED_STAGE, PV_STORAGE, PV_TOTAL_RELEASE, PV_UNREGULATED_FLOW, PV_UNREGULATED_STAGEFields 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
ConstructorsConstructorDescriptionTimeStepRoutingElement(Element element) TimeStepRoutingElement(RssSystem sys, int idx) -
Method Summary
Modifier and TypeMethodDescriptionclone()clone methodgetActiveTSProxies(Vector vec, int iotype) returns a vector of required input, or generated output TSRecordProxies used in the current alternative default implementation elements, assume all records are activeDuration[]Returns an array of Durations for which a Routing Function is defined.getFieldObject(Field fld) This method allows access to java.lang.reflect.Field objects within the implementing class.getFunction(Duration d, Function defaultF) Returns a Function based on a duration as a query item.booleaninitialize(RunTimeWindow rtw) initialize prior to a computevoidputFunction(Duration d, Function f) Sets a function to used based on a durationvoidsetActive(boolean active, boolean recurse) Sets whether element is active for computation.booleansetFieldObject(Field fld, Object fobj) This allows access to fields withing the implementing object to set there data.booleanvoidRegenerates the list of all TSProxies required for this location.Methods inherited from class hec.rss.model.Element
addChildElement, addChildElementAt, addNode, addNode, applyHindcastData, calcSeepageFlow, children, cleanupFromDeSerialization, cleanVectors, clearTSProxyList, computeForecast, computeForecastStep, computeForecastStep, computeHindcast, computeHindcastStep, computeSubStepFlow, copyInto, createHotstartState, dispose, dispose, downStreamFrom, findAdjParam, findAdjParam, findElement, getActiveStateVariables, getChildElementAt, getChildElementCount, getComputedTSRecordProxies, getComputedTSRecordProxies_old, getDefaultModelVariables, getDisplayName, getDownstreamElements, getDownstreamNode, getDownstreamNodes, getEffectiveElev, getElement, getElementByName, getElementsByClass, getElementType, getElementTypeId, getElementVector, getFlowContolTSRecordProxies, getForebayHeadLoss, getForecastEquation, getFullName, getFunction, getHindcastDataList, getHindcastEquation, getKeyStringForObject, getLinkedElementList, getModelVariables, getNode, getNodeCount, getNodeDir, getNodeDirVector, getNodeVector, getObjectForKeyString, getObjectTypeId, getObsDataVector, getOutletElementList, getOutletElementList, getOutputBPart, getParent, getPlotTypeDirectory, getPlotTypeFile, getPlotTypeNames, getPlotTypes, getPrevEffectiveElev, getReferencePt, getReleaseElements, getRequiredTSRecordProxies, getRuleConnectivityRefs, getSystem, getTailwaterElevationObjects, getTopParent, getTopParentName, getTSDataSet, getTSRecordProxies, getTSRecordProxy, getTSRecordProxy, getTSRecords, getTSRecords, getUnitSystem, getUpstreamNode, getUpstreamNodes, getWaterControlDevice, hasElementsOfClass, hasForebayHeadLoss, hasWaterControlDevice, importObservedData, initForecastLoop, initForPostProcessing, initHindcastLoop, initTSVals, isActive, isDirty, isDisposed, isNodeComputed, readData, removeAllChildElements, removeChild, removeNode, resetParentElement, restoreElementState, restoreHotstartState, saveElementState, saveHotstartState, setActive, setDirty, setFunction, setHasForebayHeadLoss, setName, setObsDataVector, setParentElement, setupForSerialization, setWaterControlDevice, toString, updateWQTSProxyList, writeDataMethods inherited from class hec.lang.NamedType
addModifiableListener, compareTo, fireModifiedStateChanged, getDescription, getIgnoreModifiedEvents, getIndex, getName, isModified, isValid, readResolve, removeModifiableListener, rename, set, setDescription, setIgnoreModifiedEvents, setIndex, setModified, setValid, update, useRecursiveModifiedTestMethods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
-
Constructor Details
-
TimeStepRoutingElement
public TimeStepRoutingElement() -
TimeStepRoutingElement
-
TimeStepRoutingElement
-
-
Method Details
-
clone
Description copied from class:Elementclone method -
initialize
Description copied from class:Elementinitialize prior to a compute- Overrides:
initializein classElement
-
setRoutingFunction
-
putFunction
Description copied from interface:ITimeStepRoutingElementSets a function to used based on a duration- Specified by:
putFunctionin interfaceITimeStepRoutingElement- Parameters:
d-f-
-
getDefinedTimeStepDurations
Returns an array of Durations for which a Routing Function is defined.- Specified by:
getDefinedTimeStepDurationsin interfaceITimeStepRoutingElement- Returns:
-
getFunction
Returns a Function based on a duration as a query item. If the return value is NULL, then the defaultFunction is returned- Specified by:
getFunctionin interfaceITimeStepRoutingElement- Parameters:
d-defaultF- return if map.get(d) == null- Returns:
-
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 Function should over-ride this method if they use TSRecordProxies- Overrides:
updateTSProxyListin classElement
-
getActiveTSProxies
returns a vector of required input, or generated output TSRecordProxies used in the current alternative default implementation elements, assume all records are active- Overrides:
getActiveTSProxiesin classElement
-
setActive
public void setActive(boolean active, boolean recurse) Sets whether element is active for computation. Also sets nodes computed by this element to the sam active or inactive state. -
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 classElement- 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 classElement- 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
-