Package hec.rss.model

Class PulsChannelRoutingWithLosses

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

public class PulsChannelRoutingWithLosses extends Routing
Modified Puls Channel Routing (with losses) and Working Rinvalid input: '&D' Routing
See Also:
  • Constructor Details

    • PulsChannelRoutingWithLosses

      public PulsChannelRoutingWithLosses()
    • PulsChannelRoutingWithLosses

      public PulsChannelRoutingWithLosses(Element elem)
  • Method Details

    • clone

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

      public double getMuskingumX()
    • setMuskingumX

      public void setMuskingumX(double x)
    • 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:
      computeRouting in class Routing
      Parameters:
      rts - time step and number of steps
      inputTS - upstream flow time series
      outputTS - previously computed downstream flow time series
      routingDataTS - additional time depended routing data if needed for the routing method
      routed - newly computed downstream flow (array size must be >= rts.nstep)
      Returns:
      return flag, RssReturnStatusConstants.RTN_NOPROBLEM if routing computed successfully
    • computeRouting

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

      public int computeForecastStep(RunTimeStep rts)
      compute one routing step during forecast
      Overrides:
      computeForecastStep in class Function
    • initialize

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

      public void saveFunctionState(int stateid)
      save the current state of the element and its function with the given identifier - saves subreach flows
      Overrides:
      saveFunctionState in class Function
      Parameters:
      stateid - identifier for the state
    • restoreFunctionState

      public void restoreFunctionState(int stateid)
      restore the state of the element and its function matching the given identifier - restores subreach flows
      Overrides:
      restoreFunctionState in class Function
      Parameters:
      stateid - identifier for the state
    • saveHotstartState

      public void saveHotstartState(HotstartState parentHotstartState, int stateId)
      Overrides:
      saveHotstartState in class Function
    • restoreHotstartState

      public boolean restoreHotstartState(HotstartState parentState)
      Overrides:
      restoreHotstartState in class Function
    • setinvertElevation

      public void setinvertElevation(hec.data.ParamDouble pd)
    • setnumberReaches

      public void setnumberReaches(int numberReaches)
    • getPulsVector

      public Vector getPulsVector()
    • setPulsVector

      public void setPulsVector(Vector vec)
    • addPulsRecord

      public void addPulsRecord(PulsRecord cr)
    • emptyPulsVector

      public void emptyPulsVector()
    • getinvertElevation

      public void getinvertElevation(hec.data.ParamDouble pd)
    • setpercolationRate

      public void setpercolationRate(hec.data.ParamDouble pd)
    • getpercolationRate

      public void getpercolationRate(hec.data.ParamDouble pd)
    • getnumberReaches

      public int getnumberReaches()
    • setIsSI

      public void setIsSI(boolean isSI)
    • setHasChannelLosses

      public void setHasChannelLosses(boolean tf)
    • getHasChannelLosses

      public boolean getHasChannelLosses()
    • convertToWatershedUnits

      public void convertToWatershedUnits()
      This method converts the metric data to watershed units. This should only be called by the RssSystem object when updates occur. The old storage system always stored in metric
    • copyDataFromPulChannelRouting

      public void copyDataFromPulChannelRouting(PulsChannelRouting oldRoutingFunction)
      Copy relavent data from PulsChannelRouting function into current PulsChannelRoutingWithLosses function. PulsChannelRouting will no longer be used.
      Parameters:
      oldRoutingFunction - Old PulsChannelRouting function
    • 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 Routing
      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 Routing
      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
    • 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
      Overrides:
      outputReport in class Routing
    • newRouteData

      public Object newRouteData()
      create a new empty RouteData object for ResSim v4 compute
      Overrides:
      newRouteData in class Routing
    • initializeStandalone

      public boolean initializeStandalone()
      Description copied from class: Routing
      Initialize routing object for standalone compute in offline WQ simulation Default method - implemented in individual subclasses
      Overrides:
      initializeStandalone in class Routing
      Returns:
      true if initialization successful, false o.w.
    • getNumberSubreaches

      public int getNumberSubreaches()
      Description copied from class: Routing
      Get the number of subreaches in the routing reach Default method returns 1 - method implemented in individual subclasses
      Overrides:
      getNumberSubreaches in class Routing
      Returns:
      number of subreaches in reach with routing
    • getSubreachFlowArray

      public double[] getSubreachFlowArray(double flowIn, double flowOut, int iStep)
      Overrides:
      getSubreachFlowArray in class Routing