Package hec.rss.model

Class ControlStructure

All Implemented Interfaces:
AsciiSerializable, FieldAccessor, TSLocation, RssModelVariableConstants, RssReturnStatusConstants, RssTSLocation, Serializable, Cloneable, Comparable, Observer, rma.lang.Modifiable
Direct Known Subclasses:
AdjustableDiversion, AdjustableFlow, Dam, Spillway

public abstract class ControlStructure extends Function
See Also:
  • Constructor Details

    • ControlStructure

      public ControlStructure()
    • ControlStructure

      public ControlStructure(Element elem)
  • Method Details

    • setIntakeGeometry

      public void setIntakeGeometry(IntakeGeometry geometry)
    • getIntakeGeometry

      public IntakeGeometry getIntakeGeometry()
    • periodAverageFlow

      public double periodAverageFlow(double[] xt, double[] et, int tcnt)
    • periodAverageFlow

      public double periodAverageFlow(double elev0, double elev1, double dt)
      Integrate spillway flow over time period to get a more accurate release value for long time steps. Assumes pool elevation varies linearly over the timestep
    • getRelease

      public double getRelease(double elev)
    • getEstimatedFlow

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

      public double getEstimatedROI(RunTimeStep rts, int iteration)
    • getEstimatedROD

      public double getEstimatedROD(RunTimeStep rts, int iteration)
    • getAdjustableParameter

      public AdjustableParameter getAdjustableParameter()
      Overrides:
      getAdjustableParameter in class Function
    • clone

      public Object clone()
      Description copied from class: Function
      clone method
      Overrides:
      clone in class Function
    • copyInto

      public void copyInto(ControlStructure cs)
    • initForecastOperations

      public int initForecastOperations(RunTimeWindow rtw)
      Initialzes adjustable parameter values over forecast time window
    • getFieldObject

      public Object getFieldObject(Field fld)
      Description copied from interface: FieldAccessor
      This method allows access to java.lang.reflect.Field objects within the implementing class.
      Specified by:
      getFieldObject in interface FieldAccessor
      Overrides:
      getFieldObject in class Function
      Parameters:
      fld - The field to get.
      Returns:
      The data object that is stored in the given field
    • setFieldObject

      public boolean setFieldObject(Field fld, Object fobj)
      Description copied from interface: FieldAccessor
      This allows access to fields withing the implementing object to set there data.
      Specified by:
      setFieldObject in interface FieldAccessor
      Overrides:
      setFieldObject in class Function
      Parameters:
      fld - The java field object representing the member field to be set
      fobj - The data to set in that field
      Returns:
      returns true if successful