Package hec.rss.model

Class PulseRoutingFunction

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

public class PulseRoutingFunction extends Function
This function is used only for reservoirs when performing pulse routing computations. It takes the holdout time-series generated by the reservoir storage element during a previous regulated flow computation and releases it a the tailwater of the reservoir.
See Also:
  • Constructor Details

    • PulseRoutingFunction

      public PulseRoutingFunction()
    • PulseRoutingFunction

      public PulseRoutingFunction(ReservoirOutletElement elem, boolean on)
  • Method Details

    • 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
    • clone

      public Object 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.
      Overrides:
      clone in class Function
    • getPulseQ

      public double getPulseQ()
    • getOutletQ

      public double getOutletQ()
    • getPulseStep

      public int getPulseStep()
    • computeStepFlow

      public double computeStepFlow(RunTimeStep rts)
      compute the pulse release for the given run time step
      Parameters:
      rts -
      Returns:
      pulse release flow
    • computeForecastStep

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

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

      public boolean getForecastEquation(RunTime runtime)
      Overrides:
      getForecastEquation in class Function
    • setUseNewReleaseQ

      public void setUseNewReleaseQ(boolean tf)
    • getHindcastEquation

      public boolean getHindcastEquation(RunTime runtime)
      Overrides:
      getHindcastEquation in class Function
    • initialize

      public boolean initialize()
      Description copied from class: Function
      initialize prior to a compute
      Overrides:
      initialize in class Function
    • computeResponse

      public boolean computeResponse(RssNode controlNode)
      compute routing coefficients from pulse run
    • calculateLagFlow

      public boolean calculateLagFlow(RssNode controlNode)
      compute routing coefficients from pulse run
    • getRegFlow

      public double[] getRegFlow()
      loads the regulated flow time series computed in previously??
    • 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