Package hec.rss.model

Class Spillway

All Implemented Interfaces:
AsciiSerializable, FieldAccessor, TSLocation, AltInputReportInfc, RssModelVariableConstants, RssReturnStatusConstants, RssTSLocation, Serializable, Cloneable, Comparable, Observer, rma.lang.Modifiable

public class Spillway extends ControlStructure implements AltInputReportInfc
See Also:
  • Field Details

  • Constructor Details

    • Spillway

      public Spillway()
    • Spillway

      public Spillway(Element elem)
  • Method Details

    • getEstimatedFlow

      public double getEstimatedFlow(RunTimeStep rts, double elev0, double elev1)
    • getEstimatedFlow

      public double getEstimatedFlow(RunTimeStep rts, int iteration)
      return the best current estimate of flow at the given time step
      Overrides:
      getEstimatedFlow in class ControlStructure
      Parameters:
      rts - the time step
      Returns:
      flow estimate
    • getEstimatedROI

      public double getEstimatedROI(RunTimeStep rts, int iteration)
      Overrides:
      getEstimatedROI in class ControlStructure
    • getEstimatedROD

      public double getEstimatedROD(RunTimeStep rts, int iteration)
      Overrides:
      getEstimatedROD in class ControlStructure
    • getActiveTSProxies

      public Vector getActiveTSProxies(Vector vec, int iotype)
      returns a vector of required input, or generated output TSRecordProxies used in the current alternative default implementation function, assume all records are active
      Overrides:
      getActiveTSProxies in class Function
    • 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:
      updateTSProxyList in class Function
    • setupForSerialization

      public void setupForSerialization()
      Called just before ascii serialization. Prepares the paired data values by setting there dss record path names
      Overrides:
      setupForSerialization in class Function
    • applyHindcastData

      public void applyHindcastData(HindcastData hd)
      applies specific hindcast data for compute
      Overrides:
      applyHindcastData in class Function
    • getHindcastDataList

      public void getHindcastDataList(Vector hvec)
      Description copied from class: Function
      Default implementation of getHindcastDataList does not add any records to the list. This method is overriden in specific functions that require hindcast data.
      Overrides:
      getHindcastDataList in class Function
    • clone

      public Object clone()
      clone method
      Overrides:
      clone in class ControlStructure
    • getMinSpillElevation

      public double getMinSpillElevation()
      returns the minimum elevation at which a spill may occur
    • isNodeComputed

      public boolean isNodeComputed(int iorder, RssNode node, Integer idir)
      returns true if node is computed by the function, the function computes the flow at all nodes so it is always true
      Overrides:
      isNodeComputed in class Function
      Parameters:
      iorder - index of node in element vector
      node - node object
      idir - integer indicating whether node is inflow or outflow
      Returns:
      true if computed, else false
    • initialize

      public boolean initialize()
      initialize prior to a compute
      Overrides:
      initialize in class Function
    • getHindcastValue

      public double getHindcastValue(RunTimeStep runtime)
    • computeHindcastStep

      public int computeHindcastStep(RunTimeStep runtime)
      Overrides:
      computeHindcastStep in class Function
    • computeForecastStep

      public int computeForecastStep(RunTimeStep runtime)
      Overrides:
      computeForecastStep in class Function
    • computeForecastStep

      public int computeForecastStep(RunTimeStep runtime, double[] xt, double[] et, int tcnt)
      Overrides:
      computeForecastStep in class Function
    • computeSubStepFlow

      public double computeSubStepFlow(RunTimeStep rts, double xt, double et)
      Overrides:
      computeSubStepFlow in class Function
    • computeStepFlow

      public double computeStepFlow(RunTimeStep rts)
      Compute the spillway flow at time step, rts. Computes end of period instantaneous flow or period average flow depending on the compute calculation option. Assumes that both rts.step and rts.step-1 are valid time series array indexes. This method was introduced for the rs4engine.
      Parameters:
      rts -
      Returns:
      end of period instantaneous flow or period average flow depending on the compute calculation option
    • getRelease

      public double getRelease(double elev)
      return flow/release for given elevation
      Overrides:
      getRelease in class ControlStructure
    • getTopOfDam

      public double getTopOfDam()
    • getTopOfDam

      public void getTopOfDam(hec.data.ParamDouble pd)
    • setTopOfDam

      public void setTopOfDam(hec.data.ParamDouble pd)
    • getWidthOfDam

      public void getWidthOfDam(hec.data.ParamDouble pd)
    • setWidthOfDam

      public void setWidthOfDam(hec.data.ParamDouble pd)
    • getWidthOfDam

      public double getWidthOfDam()
    • setTopOfDam

      public void setTopOfDam(double dbl)
      Sets the value for the top of the dam
    • setWidthOfDam

      public void setWidthOfDam(double dbl)
      Sets the value for the width of the dam
    • getWeirCoef

      public double getWeirCoef()
      Gets the Weir Coefficient
    • setWeirCoef

      public void setWeirCoef(double dbl)
      Sets the Weir Coefficient
    • hasDefaultParameters

      public boolean hasDefaultParameters()
      test whether default spillway values have been changed
      Overrides:
      hasDefaultParameters in class Function
    • setSpillFunctionType

      public boolean setSpillFunctionType(int spillFuncType)
    • getSpillFunctionType

      public int getSpillFunctionType()
    • getElevOutflowValues

      public PairedValues getElevOutflowValues()
    • setElevOutflowValues

      public void setElevOutflowValues(PairedValues pv)
    • getHindcastCondition

      public int getHindcastCondition()
    • setHindcastCondition

      public boolean setHindcastCondition(int cond)
    • getInitialSpill

      public double getInitialSpill()
    • setInitialSpill

      public void setInitialSpill(double s)
    • outputReport

      public void outputReport(AlternativeInputReport report, org.jdom.Element elem)
      Description copied from interface: AltInputReportInfc
      Alternative Input Report Interface for data.
      Specified by:
      outputReport in interface AltInputReportInfc