Class ReachElement
- All Implemented Interfaces:
AsciiSerializable,FieldAccessor,TSLocation,ITimeStepRoutingElement,PlotVariableConstants,AltInputReportInfc,RssModelVariableConstants,RssReturnStatusConstants,RssTSLocation,SeepageConstants,hec.watershed.res.model.PlottableObject,Serializable,Cloneable,Comparable,Observer,rma.lang.Modifiable
- 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_PROBLEMFields inherited from interface hec.rss.model.SeepageConstants
SEEPAGE_CONST, SEEPAGE_FUNC, SEEPAGE_RETURN_RATIO -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublecalcLag()doublecalcSeepageFlow(double flow) clone()clone does a deep copy of child objectsintcomputeForecast(RunTimeWindow rtw, int computeType) performs a compute over the runtime window using forecast logicintcomputeHindcast(RunTimeWindow rtw, int computeType) performs a compute over the runtime window using hindcast logicdoublevoidgetConstSeepage(hec.data.ParamDouble pd) Returns a list of Model Variables that are used in the default plot required by PlottableObject interfacereturns the first downstream node in the node listgetFieldObject(Field fld) This method allows access to java.lang.reflect.Field objects within the implementing class.get the fill color for the Reachhec.map.WorldLinegetLine()getModelVariables(Vector variableList) hec.map.WorldPtdoubleintgetTSRecords(ModelVariable plotVariable, Vector proxyList) returns the first upstream node in the node listbooleanbooleaninitialize(RunTimeWindow rtw) initialize prior to a computebooleanvoidoutputReport(AlternativeInputReport report, org.jdom.Element elem) Alternative Input Report Interface for data.booleanreadData(BufferedReader input) Retrieves the Element data from the specified BufferedReader.voidsetConstSeepage(double s) voidsetConstSeepage(hec.data.ParamDouble pd) booleansetFieldObject(Field fld, Object fobj) This allows access to fields withing the implementing object to set there data.voidsetFillColorName(String color) set the fill color for the ReachvoidsetLine(hec.map.WorldLine reg) voidsetReferencePt(hec.map.WorldPt pt) voidsetReturnRatio(double s) booleansetSeepageType(int cond) voidvoidCalled just before ascii serialization.toString()Returns the name of the Reach ElementbooleanwriteData(BufferedWriter out) Methods inherited from class hec.rss.model.TimeStepRoutingElement
getActiveTSProxies, getDefinedTimeStepDurations, getFunction, putFunction, setActive, setRoutingFunction, updateTSProxyListMethods inherited from class hec.rss.model.Element
addChildElement, addChildElementAt, addNode, addNode, applyHindcastData, children, cleanupFromDeSerialization, cleanVectors, clearTSProxyList, computeForecastStep, computeForecastStep, computeHindcastStep, computeSubStepFlow, copyInto, createHotstartState, dispose, dispose, downStreamFrom, findAdjParam, findAdjParam, findElement, getActiveStateVariables, getChildElementAt, getChildElementCount, getComputedTSRecordProxies, getComputedTSRecordProxies_old, getDisplayName, getDownstreamElements, getDownstreamNodes, getEffectiveElev, getElement, getElementByName, getElementsByClass, getElementType, getElementTypeId, getElementVector, getFlowContolTSRecordProxies, getForebayHeadLoss, getForecastEquation, getFullName, getFunction, getHindcastDataList, getHindcastEquation, getKeyStringForObject, getLinkedElementList, getNode, getNodeCount, getNodeDir, getNodeDirVector, getNodeVector, getObjectForKeyString, getObjectTypeId, getObsDataVector, getOutletElementList, getOutletElementList, getOutputBPart, getParent, getPlotTypeDirectory, getPlotTypeFile, getPlotTypeNames, getPrevEffectiveElev, getReleaseElements, getRequiredTSRecordProxies, getRuleConnectivityRefs, getSystem, getTailwaterElevationObjects, getTopParent, getTopParentName, getTSDataSet, getTSRecordProxies, getTSRecordProxy, getTSRecordProxy, getTSRecords, getUnitSystem, getUpstreamNodes, getWaterControlDevice, hasElementsOfClass, hasForebayHeadLoss, hasWaterControlDevice, importObservedData, initForecastLoop, initForPostProcessing, initHindcastLoop, initTSVals, isActive, isDirty, isDisposed, isNodeComputed, removeAllChildElements, removeChild, removeNode, resetParentElement, restoreElementState, restoreHotstartState, saveElementState, saveHotstartState, setActive, setDirty, setFunction, setHasForebayHeadLoss, setName, setObsDataVector, setParentElement, setWaterControlDevice, updateWQTSProxyListMethods 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, setChangedMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface hec.rss.model.ITimeStepRoutingElement
getDefinedTimeStepDurations, getFunction, putFunction
-
Constructor Details
-
ReachElement
public ReachElement() -
ReachElement
-
-
Method Details
-
initialize
Description copied from class:Elementinitialize prior to a compute- Overrides:
initializein classTimeStepRoutingElement
-
initializeRoutingForWQ
-
calcLag
public double calcLag() -
setupForSerialization
public void setupForSerialization()Called just before ascii serialization. Prepares the paired data values by setting there dss record path names- Overrides:
setupForSerializationin classElement
-
toString
Returns the name of the Reach Element -
clone
clone does a deep copy of child objects- Overrides:
clonein classTimeStepRoutingElement
-
computeHindcast
performs a compute over the runtime window using hindcast logic- Overrides:
computeHindcastin classElement
-
computeForecast
performs a compute over the runtime window using forecast logic- Overrides:
computeForecastin classElement
-
calcSeepageFlow
public double calcSeepageFlow(double flow) - Specified by:
calcSeepageFlowin interfaceSeepageConstants- Overrides:
calcSeepageFlowin classElement
-
getConstSeepage
public double getConstSeepage() -
getConstSeepage
public void getConstSeepage(hec.data.ParamDouble pd) -
setConstSeepage
public void setConstSeepage(hec.data.ParamDouble pd) -
setConstSeepage
public void setConstSeepage(double s) -
getReturnRatio
public double getReturnRatio() -
setReturnRatio
public void setReturnRatio(double s) -
getSeepageValues
-
setSeepageValues
-
getSeepageType
public int getSeepageType() -
setSeepageType
public boolean setSeepageType(int cond) -
getLine
public hec.map.WorldLine getLine() -
getReferencePt
public hec.map.WorldPt getReferencePt()- Overrides:
getReferencePtin classElement
-
setReferencePt
public void setReferencePt(hec.map.WorldPt pt) -
setLine
public void setLine(hec.map.WorldLine reg) -
getUpstreamNode
Description copied from class:Elementreturns the first upstream node in the node list- Overrides:
getUpstreamNodein classElement- Returns:
- the first upstream node in the node list
-
getDownstreamNode
Description copied from class:Elementreturns the first downstream node in the node list- Overrides:
getDownstreamNodein classElement
-
readData
Description copied from class:ElementRetrieves the Element data from the specified BufferedReader. This method is called by RssSystem.readFile after encountering an Element line type. Control of the file processing is passed back to the RssSystem object once an Element End line type is found or if "Element" is not contained in the line type. The later case is an error condition.The data stream must have type=param formatting. The following types and parameters are defined.
Element Name= (String) name of the Element
Element Nodes= (comma delimited ints) list of nodes connected by this element
Element NodeDir= (comma delimited ints) list of node directions
Element Function= (String) function type name
Element EndThere must one NodeDir value for each RssNode associated with the element. A NodeDir value of 1 indicates positive flow at the node is an inflow to this element, 0 indicates a positive flow is an outflow.
The function type name must be a valid Function Class name. The currently implemented classes include CoefRouting, Storage, Junction, Dam, and AdjustableFlow.
The Element Function line type generate new Function according to the specified class name. The readData method of the new object is called to process class specific data. Control is returned to this method when a Element Function End line type is found. Note that a Element Function= line type must be matched by a Element Function End line type or the file will not be processed correctly. -
writeData
-
getModelVariables
- Specified by:
getModelVariablesin interfacehec.watershed.res.model.PlottableObject- Overrides:
getModelVariablesin classElement
-
getDefaultModelVariables
Returns a list of Model Variables that are used in the default plot required by PlottableObject interface- Specified by:
getDefaultModelVariablesin interfacehec.watershed.res.model.PlottableObject- Overrides:
getDefaultModelVariablesin classElement- Returns:
- list of ModelVariable objects
-
getPlotTypes
- Specified by:
getPlotTypesin interfacehec.watershed.res.model.PlottableObject- Overrides:
getPlotTypesin classElement
-
getTSRecords
- Overrides:
getTSRecordsin classElement
-
importFrom
-
setFillColorName
set the fill color for the Reach- Parameters:
color- the new Fill color or null to use the default fill color.
-
getFillColorName
get the fill color for the Reach- Returns:
- the fill color or null if the default fill color is used.
-
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 classTimeStepRoutingElement- 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 classTimeStepRoutingElement- 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
-
outputReport
Description copied from interface:AltInputReportInfcAlternative Input Report Interface for data.- Specified by:
outputReportin interfaceAltInputReportInfc
-