Package hec.rss.model
Class Pump
java.lang.Object
java.util.Observable
hec.lang.NamedType
hec.rss.model.Pump
- All Implemented Interfaces:
AsciiSerializable,FieldAccessor,AltInputReportInfc,RssModelVariableConstants,Serializable,Cloneable,Comparable,Observer,rma.lang.Modifiable
Title: HecJava Development
Description:
Copyright: Copyright (c) 2003
Company:
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intFields 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_OFFSET -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanOperatePumpUnit(int unitNo, double tailElevation, double operatingHead) Returns a boolean true/false if a pumping units is available to run for a given tailwater elevation and operating head.clone()clone methoddoublecomputeMaximumCapacity(RunTimeStep rts, double elevation) Computes the maximum pumping capacity at a moment in time defined by the runtime step and for a given elevation defined by "elevation"doublecomputePumpUnitCapacity(double operatingHead) Computes a maximum capacity based on a single pump.voidgetActiveTSRecordProxies(Vector vec, int iotype) add the time series record proxies associated current computegetFieldObject(Field fld) This method allows access to java.lang.reflect.Field objects within the implementing class.intdoubleintdoublegetTailwaterElevation(RunTimeStep runtime) Returns the elevation at the associated tailwater at a given moment in time.booleanThis method is called when the reservoir model is initialized.voidoutputReport(AlternativeInputReport report, org.jdom.Element elem) Alternative Input Report Interface for data.voidbooleansetFieldObject(Field fld, Object fobj) This allows access to fields withing the implementing object to set there data.voidsetNumberOfPumps(int numPumps) voidsetPumpCapacityConstant(double d) voidsetPumpCapacityType(int type) voidsetPumpVolAndFlow(RunTimeStep rts, double vol, double flow) voidsetUnitSystem(int system) voidvoidRegenerates the list of all TSProxies required for this location.Methods inherited from class hec.lang.NamedType
addModifiableListener, compareTo, fireModifiedStateChanged, getDescription, getDisplayName, 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, setChanged
-
Field Details
-
PUMP_CAPACITY_CONSTANT
public static final int PUMP_CAPACITY_CONSTANT- See Also:
-
PUMP_CAPACITY_FUNCTION_OF_HEAD
public static final int PUMP_CAPACITY_FUNCTION_OF_HEAD- See Also:
-
-
Constructor Details
-
Pump
public Pump() -
Pump
-
-
Method Details
-
setNumberOfPumps
public void setNumberOfPumps(int numPumps) -
getNumberOfPumps
public int getNumberOfPumps() -
getOperatingLimitFunction
-
getPumpCapacityFunction
-
getPumpCapacityConstant
public double getPumpCapacityConstant() -
setPumpCapacityConstant
public void setPumpCapacityConstant(double d) -
setUnitSystem
public void setUnitSystem(int system) -
getAdjustableFlow
-
setAdjustableFlow
-
getPumpCapacityType
public int getPumpCapacityType() -
setPumpCapacityType
public void setPumpCapacityType(int type) -
getActiveTSRecordProxies
add the time series record proxies associated current compute -
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 -
initialize
public boolean initialize()This method is called when the reservoir model is initialized. It allows us to get setup and ready to go for the impending computation. -
setPumpVolAndFlow
-
canOperatePumpUnit
public boolean canOperatePumpUnit(int unitNo, double tailElevation, double operatingHead) Returns a boolean true/false if a pumping units is available to run for a given tailwater elevation and operating head. The tailElevation must be greater than or equal to a units specfied minium operating tail water elevation and the operatingHead must be less than or equal to a pump units maximum specified operating head to be operable. If both conditions are true than that unit is valid- Parameters:
unitNo- the indentifier of the pump units from 0 to (number of pumps - 1);tailElevation-operatingHead-- Returns:
-
computePumpUnitCapacity
public double computePumpUnitCapacity(double operatingHead) Computes a maximum capacity based on a single pump. This could be either a constant value or based on a pump capacity function. The operating head is used to figure out capacity if the capacity is based on a functions -
getAssociatedTailwater
-
getTailwaterElevation
Returns the elevation at the associated tailwater at a given moment in time. The runtime step marks the moment in time at which to retreive the elevation. Returns RMAConst.UNDEF_DOUBLE if there is no associated tailwater.- Parameters:
runtime-- Returns:
-
computeMaximumCapacity
Computes the maximum pumping capacity at a moment in time defined by the runtime step and for a given elevation defined by "elevation"- Parameters:
rts- a moment in timeelevation- reservoir elevation- Returns:
- maximum pumping capacity
-
setupForSerialization
public void setupForSerialization() -
clone
clone method -
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 classNamedType- 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 classNamedType- 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
-