Package hec.rss.model
Class CoefRouting
java.lang.Object
java.util.Observable
hec.lang.NamedType
hec.rss.model.RssTSLocationObject
hec.rss.model.Function
hec.rss.model.Routing
hec.rss.model.CoefRouting
- All Implemented Interfaces:
AsciiSerializable,FieldAccessor,TSLocation,AltInputReportInfc,RssModelVariableConstants,RssReturnStatusConstants,RssTSLocation,Serializable,Cloneable,Comparable,Observer,rma.lang.Modifiable
- See Also:
-
Field Summary
Fields inherited from class hec.rss.model.Routing
_shouldCheckHotstart, FLOWFields 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 TypeMethodDescriptiondoublecalcLag()clone()clone methodintcompute one routing step during forecastintintcomputeRouting(RunTimeStep rts, double[] inputTS, double[] outputTS, Object[] routingDataTS, double[] routed) Compute routing over the given time window using the provided input, output, and routing data object time series arraysdoublecomputeRoutingStepStandalone(int rtsMinutes, double q0, double q1, double reachOutflow, double[] initSubOutflow, double[] finSubOutflow) Method to compute a time step of routing through a reach for an offline WQ simulation Default implementation - returns array of constant flows Actual routing methods implemented in individual subclassesbooleanestimateCoefRouting(RunTimeStep rts, double[] coef) double[]doublegetFieldObject(Field fld) This method allows access to java.lang.reflect.Field objects within the implementing class.intgetLag()intbooleantest whether default coefficient values have been changedvoidoutputReport(AlternativeInputReport report, org.jdom.Element elem) Alternative Input Report Interface for data.voidsetCoefArray(double[] ca) Sets the coefficient routing array values.voidsetCoefArray(double[] ca, boolean normalize) Sets the coefficient routing array values.voidsetFactor(double factor) booleansetFieldObject(Field fld, Object fobj) This allows access to fields withing the implementing object to set there data.voidsetLag(int lag) voidsetStraddle(int straddle) Methods inherited from class hec.rss.model.Routing
checkForecastCalc, checkForecastCalc, checkForecastStepCalc, computeForecast, computeHindcast, getDefaultCoefArray, getNumberSubreaches, getSubreachFlowArray, initialize, initializeStandalone, newRouteData, toStringMethods inherited from class hec.rss.model.Function
applyHindcastData, cleanupFromDeSerialization, computeForecastStep, computeHindcastStep, computeSubStepFlow, copyInto, findAdjParam, getActiveTSProxies, getAdjustableParameter, getComputedTSRecordProxies, getComputedTSRecordProxies, getDisplayName, getElement, getFlowVolume, getFlowVolume, getForecastEquation, getFullName, getHindcastDataList, getHindcastEquation, getKeyStringForObject, getObjectForKeyString, getOutputBPart, getSystem, getUnitSystem, initForecastLoop, initForPostProcessing, initHindcastLoop, initTSVals, isNodeComputed, printErrorMessage, printErrorMessage, readData, resetParent, restoreFunctionState, restoreHotstartState, saveFunctionState, saveHotstartState, setElement, setupForSerialization, updateTSProxyList, 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, 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
-
CoefRouting
public CoefRouting() -
CoefRouting
-
-
Method Details
-
calcLag
public double calcLag() -
clone
clone method -
computeForecastStep
compute one routing step during forecast- Overrides:
computeForecastStepin classFunction
-
computeRouting
public int computeRouting(RunTimeStep rts, double[] inputTS, double[] outputTS, Object[] routingDataTS, double[] routed) Compute routing over the given time window using the provided input, output, and routing data object time series arrays- Overrides:
computeRoutingin classRouting- Parameters:
rts- time step and number of stepsinputTS- upstream flow time seriesoutputTS- previously computed downstream flow time seriesroutingDataTS- additional time depended routing data if needed for the routing methodrouted- newly computed downstream flow (array size must be >= rts.nstep)- Returns:
- return flag, RssReturnStatusConstants.RTN_NOPROBLEM if routing computed successfully
-
computeRouting
- Overrides:
computeRoutingin classRouting
-
setStraddle
public void setStraddle(int straddle) -
setLag
public void setLag(int lag) -
setFactor
public void setFactor(double factor) -
setCoefArray
public void setCoefArray(double[] ca) Sets the coefficient routing array values. Normalization is done if the sum of the values do not equal 1 or 0. -
setCoefArray
public void setCoefArray(double[] ca, boolean normalize) Sets the coefficient routing array values.- Parameters:
ca- the double coefficient valuesnormalize- if the values is true normalization is done if the sum of the coefficients does not equal 1 or 0. If false, no normalization is done ever.
-
getCoefArray
public double[] getCoefArray() -
getStraddle
public int getStraddle() -
getLag
public int getLag() -
getFactor
public double getFactor() -
hasDefaultParameters
public boolean hasDefaultParameters()test whether default coefficient values have been changed- Overrides:
hasDefaultParametersin classFunction
-
estimateCoefRouting
- Overrides:
estimateCoefRoutingin classRouting
-
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 classRouting- 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 classRouting- 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- Overrides:
outputReportin classRouting
-
computeRoutingStepStandalone
public double computeRoutingStepStandalone(int rtsMinutes, double q0, double q1, double reachOutflow, double[] initSubOutflow, double[] finSubOutflow) Description copied from class:RoutingMethod to compute a time step of routing through a reach for an offline WQ simulation Default implementation - returns array of constant flows Actual routing methods implemented in individual subclasses- Overrides:
computeRoutingStepStandalonein classRouting- Parameters:
q0- initial flow into upstream subreachq1- flow at end of time step into upstream subreachreachOutflow- flow at end of the reach - used for coef routinginitSubOutflow- array of subreach flows at start of time stepfinSubOutflow- array of subreach flows at end of time step- Returns:
- flow at the end of the reach at end of time step
-