Package hec.rss.model
Class Junction
- All Implemented Interfaces:
AsciiSerializable,FieldAccessor,TSLocation,RssModelVariableConstants,RssReturnStatusConstants,RssTSLocation,TailElevContainer,Serializable,Cloneable,Comparable,Observer,rma.lang.Modifiable
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
Fields 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()Creates a new object of the same class as this object.intcomputeForecastStep(RunTimeStep runtime) intcomputeHindcastStep(RunTimeStep runtime) getActiveTSProxies(Vector vec, int iotype) add the time series record proxies associated current computedoubleReturns the flow available for diversiondoublegetBCAdjFac(int i) get the scaling factor applied to a boundary condition on node i of this junctionreturns a vector of computed ts record proxies assuming the downstream flow is computed overrides method in Function classDefault independent variable is two variabledoublereturn the total diversion flow volume for the given time step from diversion elements connected to this junction.doublegetElevation(RunTimeStep runtime, double q) compute elevation for timestep from rating curve or rating objectgetFieldObject(Field fld) This method allows access to java.lang.reflect.Field objects within the implementing class.doublegetFlowFromStage(RunTimeStep rts, double stage) Interpolate flow from stage based on rating at the junction.doubledoublereturn the total local flow volume for the given time stepreturns a clone of the junctions rating curvedoublereturns rating type used by this junctionvoidgetReferencedStateVariables(List svlist) adds StateVariables refereced by this rule to the given listdoublegetStage(RunTimeStep runtime, double q) doublegetTotalLocalFlowFactor(String locName) compute and return the total inflow factor applied to an inflow nodebooleanreturns true if the Junction has rating curve data for the selected rating typebooleanreturns boolean indicating whether this element has a tailwater elevationbooleaninitialize prior to a computebooleanTests if this junction element joins more than one upstream reach, has a diversion, or has more than one outflow.booleanreadData(BufferedReader input) Deprecated.voidsetAvailableFlow(double f) Returns the flow available for diversionvoidoverrides parent method to pass element reference to child objectsbooleansetFieldObject(Field fld, Object fobj) This allows access to fields withing the implementing object to set there data.voidsetHasTailElev(boolean b) activates/deactivates tailwater elevationvoidreplaces the junctions existing rating curve with the given PairedValues object, also adds/removes a stage time series record proxy as requiredvoidvoidsets the rating type used by this junction.voidCalled just before ascii serialization.voidsetVerticalDatumSettings(VerticalDatumSettings verticalDatumSettings) voidRegenerates the list of all TSProxies required for this location.booleanwriteData(BufferedWriter out) Deprecated.Methods inherited from class hec.rss.model.Function
applyHindcastData, cleanupFromDeSerialization, computeForecastStep, computeSubStepFlow, copyInto, findAdjParam, getAdjustableParameter, getComputedTSRecordProxies, getDisplayName, getElement, getFlowVolume, getFlowVolume, getForecastEquation, getFullName, getHindcastDataList, getHindcastEquation, getKeyStringForObject, getObjectForKeyString, getOutputBPart, getSystem, getUnitSystem, hasDefaultParameters, initForecastLoop, initForPostProcessing, initHindcastLoop, initTSVals, isNodeComputed, printErrorMessage, printErrorMessage, resetParent, restoreFunctionState, restoreHotstartState, saveFunctionState, saveHotstartState, updateWQTSProxyListMethods 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
-
Constructor Details
-
Junction
public Junction() -
Junction
-
-
Method Details
-
getBCAdjFac
public double getBCAdjFac(int i) get the scaling factor applied to a boundary condition on node i of this junction- Parameters:
i- array location in list of nodes on this junction- Returns:
- local inflow scaling factor multiplied by additional scaling applied to the alternative
-
getDiversionVolume
return the total diversion flow volume for the given time step from diversion elements connected to this junction. Note that this method returns the volume that would be diverted if there is no shortage.- Parameters:
rts-- Returns:
-
getLocalInflowVolume
return the total local flow volume for the given time step- Parameters:
rts-- Returns:
-
setupForSerialization
public void setupForSerialization()Called just before ascii serialization. Prepares the paired data values by setting there dss record path names- Overrides:
setupForSerializationin classFunction
-
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
-
setElement
overrides parent method to pass element reference to child objects- Overrides:
setElementin classFunction
-
clone
Creates a new object of the same class as this object.
It then initializes each of the new object's fields by assigning it the same value as the corresponding field in this object. No
constructor is called. -
getLastOutflow
public double getLastOutflow() -
getAvailableFlow
public double getAvailableFlow()Returns the flow available for diversion -
setAvailableFlow
public void setAvailableFlow(double f) Returns the flow available for diversion -
isConfluence
public boolean isConfluence()Tests if this junction element joins more than one upstream reach, has a diversion, or has more than one outflow.- Returns:
- true if this is a confluence junction
-
initialize
public boolean initialize()Description copied from class:Functioninitialize prior to a compute- Overrides:
initializein classFunction
-
getTotalLocalFlowFactor
compute and return the total inflow factor applied to an inflow node- Parameters:
locName-- Returns:
- local flow factor * alternative time series factor
-
computeHindcastStep
- Overrides:
computeHindcastStepin classFunction
-
computeForecastStep
- Overrides:
computeForecastStepin classFunction
-
getRatingType
returns rating type used by this junction- Returns:
- JuncRatingType enum value
-
setRatingType
sets the rating type used by this junction.- Parameters:
type- JuncRatingType enum value
-
getElevation
compute elevation for timestep from rating curve or rating object- Parameters:
runtime-- Returns:
-
getRatingObjStageDatum
public double getRatingObjStageDatum() -
getStage
-
getFlowFromStage
Interpolate flow from stage based on rating at the junction. The junction must have a rating defined.- Parameters:
rts- time step when interpolation occurs, may be nullstage- input stage- Returns:
- interpolated flow or RMAConst.UNDEF_DOUBLE if interpolation is not successful
-
getActiveTSProxies
add the time series record proxies associated current compute- 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
-
getComputedTSRecordProxies
returns a vector of computed ts record proxies assuming the downstream flow is computed overrides method in Function class- Overrides:
getComputedTSRecordProxiesin classFunction
-
hasRatingCurve
public boolean hasRatingCurve()returns true if the Junction has rating curve data for the selected rating type -
getRatingCurve
returns a clone of the junctions rating curve -
setRatingCurve
replaces the junctions existing rating curve with the given PairedValues object, also adds/removes a stage time series record proxy as required -
getRatingObject
-
setRatingObject
-
getDefaultIndependentVariable
Default independent variable is two variable- Returns:
-
getReferencedStateVariables
adds StateVariables refereced by this rule to the given list- Parameters:
svlist- unique list of state variables
-
setVerticalDatumSettings
-
getVerticalDatumSettings
-
writeData
Deprecated. -
readData
Deprecated. -
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 classContinuity- 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 classContinuity- 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
-