Package hec.rss.model

Class ReservoirSystem

java.lang.Object
hec.rss.model.ReservoirSystem

public class ReservoirSystem extends Object
A set of ordered ReservoirSystemGroup items representing a subset of an RssSystem which operates together. Primary use is for system power. ReservoirSystem objects are constructed during run time and not saved to disk.
  • Constructor Details

    • ReservoirSystem

      public ReservoirSystem()
      Default Constructor
    • ReservoirSystem

      public ReservoirSystem(RssSystem sys, ReservoirElement[] resArray)
      Constructs a ReservoirSystem object initialized with the given list of ReservoirElements
      Parameters:
      resArray - array of ReservoirElement objects
  • Method Details

    • initBalDebugOutput

      public void initBalDebugOutput()
    • writeBalDebugOutput

      public void writeBalDebugOutput(RunTimePeriod rtp, int iter)
    • writeDebugOutputHeader

      public void writeDebugOutputHeader(BufferedWriter bufout, String delim) throws IOException
      Throws:
      IOException
    • writeDebugOutput

      public void writeDebugOutput(BufferedWriter bufout, String delim) throws IOException
      Throws:
      IOException
    • determineActiveReservoirs

      public int determineActiveReservoirs(RunTimeStep rts, SystemHydropowerRule syspowRule)
      determined actively managed reservoirs by looking references to this rule in the active rule set of each reservoir
      Parameters:
      rts -
    • calcPeriodPowerData

      public void calcPeriodPowerData(RunTimePeriod rtp, DecisionEngine dEngine, SystemHydropowerRule sysHydRule)
      first calculation of reservoir group power data called from SystemHydropowerRule.evaluateLimits()
      Parameters:
      rtp -
    • calcPreviousGeneration

      public double calcPreviousGeneration(RunTimePeriod rtp)
      calculate the energy generation during this period up to start of this time step
      Parameters:
      rtp -
      Returns:
    • calcRemainingPeriodGen

      public double calcRemainingPeriodGen(RunTimePeriod rtp)
      calculate the energy generation during this period from this time step to end of period
      Parameters:
      rtp -
      Returns:
    • getActiveRes

      public int getActiveRes(boolean[] activeRes)
      fill the given array according to which reservoirs are actively managed during the current time step
      Parameters:
      activeRes -
      Returns:
      number of active reservoirs
    • size

      public int size()
      return the number of reservoir groups in this system
      Returns:
      number of reservoir groups
    • buildSystem

      public void buildSystem(ReservoirElement[] resArray)
      Uses the given List of ReservoirElement objects to construct an ordered list of ReservoirSystemGroup objects
      Parameters:
      resList -
    • initCompute

      public void initCompute(RunTimeWindow rtw)
      initialize compute, finalizing connectivity
    • getReservoirGroup

      public ReservoirSystemGroup getReservoirGroup(int i)
      return a ReservoirSystemGroup for the given index.
      Parameters:
      i - index of the group in the group array
      Returns:
      a ReservoirSystemGroup for the given index or null.
    • getReservoirGroup

      public ReservoirSystemGroup getReservoirGroup(Element resElem)
      return a ReservoirSystemGroup for the given reservoir element.
      Parameters:
      resElem - a reservoir element
      Returns:
      a ReservoirSystemGroup for the given reservoir element or null.