Package hec.rss.model
Class ReservoirDamElement
java.lang.Object
java.util.Observable
hec.lang.NamedType
hec.rss.model.Element
hec.rss.model.ReservoirOutletElement
hec.rss.model.ReservoirDamElement
- All Implemented Interfaces:
AsciiSerializable,FieldAccessor,TSLocation,PlotVariableConstants,AltInputReportInfc,RssModelVariableConstants,RssReturnStatusConstants,RssTSLocation,TailElevContainer,hec.watershed.res.model.PlottableObject,Serializable,Cloneable,Comparable,Observer,rma.lang.Modifiable
public class ReservoirDamElement
extends ReservoirOutletElement
implements TailElevContainer, AltInputReportInfc
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChildElement(Element child) override Element method to handle connectivityvoidoverride add node to make connections to child elementsvoidCreates Dam and Tailwater child elements Parent element must be set before calling this methodbooleangetFieldObject(Field fld) This method allows access to java.lang.reflect.Field objects within the implementing class.booleandetermines whether the dam has one or more power plantsbooleanreturns boolean indicating whether this element has a tailwater elevationvoidoutputReport(AlternativeInputReport report, org.jdom.Element elem) Alternative Input Report Interface for data.voidsetComputesLeakage(boolean b) booleansetFieldObject(Field fld, Object fobj) This allows access to fields withing the implementing object to set there data.voidsetHasTailElev(boolean b) activates/deactivates tailwater elevationMethods inherited from class hec.rss.model.ReservoirOutletElement
getPowerPlants, getPulseFlow, getPulseFlow, getRuleConnectivityRefs, getUseDefaultPulseFlow, setpulseFlow, setPulseFlow, setUseDefaultPulseFlowMethods inherited from class hec.rss.model.Element
addChildElementAt, addNode, applyHindcastData, calcSeepageFlow, children, cleanupFromDeSerialization, cleanVectors, clearTSProxyList, clone, computeForecast, computeForecastStep, computeForecastStep, computeHindcast, computeHindcastStep, computeSubStepFlow, copyInto, createHotstartState, dispose, dispose, downStreamFrom, findAdjParam, findAdjParam, findElement, getActiveStateVariables, getActiveTSProxies, 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, getSystem, getTailwaterElevationObjects, getTopParent, getTopParentName, getTSDataSet, getTSRecordProxies, getTSRecordProxy, getTSRecordProxy, getTSRecords, getTSRecords, getUnitSystem, getUpstreamNode, getUpstreamNodes, getWaterControlDevice, hasElementsOfClass, hasForebayHeadLoss, hasWaterControlDevice, importObservedData, initForecastLoop, initForPostProcessing, initHindcastLoop, initialize, initTSVals, isActive, isDirty, isDisposed, isNodeComputed, readData, removeAllChildElements, removeChild, removeNode, resetParentElement, restoreElementState, restoreHotstartState, saveElementState, saveHotstartState, setActive, setActive, setDirty, setFunction, setHasForebayHeadLoss, setName, setObsDataVector, setParentElement, setupForSerialization, setWaterControlDevice, toString, updateTSProxyList, 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
-
Field Details
-
TAILWATER_CHILD_ID
public static final int TAILWATER_CHILD_ID- See Also:
-
DAM_CHILD_ID
public static final int DAM_CHILD_ID- See Also:
-
-
Constructor Details
-
ReservoirDamElement
public ReservoirDamElement() -
ReservoirDamElement
-
-
Method Details
-
getTailwaterElevation
- Specified by:
getTailwaterElevationin interfaceTailElevContainer
-
setHasTailElev
public void setHasTailElev(boolean b) Description copied from interface:TailElevContaineractivates/deactivates tailwater elevation- Specified by:
setHasTailElevin interfaceTailElevContainer
-
hasTailElev
public boolean hasTailElev()Description copied from interface:TailElevContainerreturns boolean indicating whether this element has a tailwater elevation- Specified by:
hasTailElevin interfaceTailElevContainer
-
hasPowerPlant
public boolean hasPowerPlant()determines whether the dam has one or more power plants- Returns:
- true if there is at least one power plant
-
getComputesLeakage
public boolean getComputesLeakage() -
setComputesLeakage
public void setComputesLeakage(boolean b) -
getCompositeRelease
-
buildDefaultElements
public void buildDefaultElements()Creates Dam and Tailwater child elements Parent element must be set before calling this method -
addNode
override add node to make connections to child elements -
addChildElement
override Element method to handle connectivity- Overrides:
addChildElementin classElement
-
getDamFunction
-
getDamElement
-
getTailwaterElement
-
getTailwaterFunction
-
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 classReservoirOutletElement- 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 classReservoirOutletElement- 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
-