Package hec.rss.model
Class ReservoirSystem
java.lang.Object
hec.rss.model.ReservoirSystem
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 Summary
ConstructorsConstructorDescriptionDefault ConstructorReservoirSystem(RssSystem sys, ReservoirElement[] resArray) Constructs a ReservoirSystem object initialized with the given list of ReservoirElements -
Method Summary
Modifier and TypeMethodDescriptionvoidbuildSystem(ReservoirElement[] resArray) Uses the given List of ReservoirElement objects to construct an ordered list of ReservoirSystemGroup objectsvoidcalcPeriodPowerData(RunTimePeriod rtp, DecisionEngine dEngine, SystemHydropowerRule sysHydRule) first calculation of reservoir group power data called from SystemHydropowerRule.evaluateLimits()doublecalculate the energy generation during this period up to start of this time stepdoublecalculate the energy generation during this period from this time step to end of periodintdetermineActiveReservoirs(RunTimeStep rts, SystemHydropowerRule syspowRule) determined actively managed reservoirs by looking references to this rule in the active rule set of each reservoirintgetActiveRes(boolean[] activeRes) fill the given array according to which reservoirs are actively managed during the current time stepgetReservoirGroup(int i) return a ReservoirSystemGroup for the given index.getReservoirGroup(Element resElem) return a ReservoirSystemGroup for the given reservoir element.voidvoidinitCompute(RunTimeWindow rtw) initialize compute, finalizing connectivityintsize()return the number of reservoir groups in this systemvoidwriteBalDebugOutput(RunTimePeriod rtp, int iter) voidwriteDebugOutput(BufferedWriter bufout, String delim) voidwriteDebugOutputHeader(BufferedWriter bufout, String delim)
-
Constructor Details
-
ReservoirSystem
public ReservoirSystem()Default Constructor -
ReservoirSystem
Constructs a ReservoirSystem object initialized with the given list of ReservoirElements- Parameters:
resArray- array of ReservoirElement objects
-
-
Method Details
-
initBalDebugOutput
public void initBalDebugOutput() -
writeBalDebugOutput
-
writeDebugOutputHeader
- Throws:
IOException
-
writeDebugOutput
- Throws:
IOException
-
determineActiveReservoirs
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
calculate the energy generation during this period up to start of this time step- Parameters:
rtp-- Returns:
-
calcRemainingPeriodGen
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
Uses the given List of ReservoirElement objects to construct an ordered list of ReservoirSystemGroup objects- Parameters:
resList-
-
initCompute
initialize compute, finalizing connectivity -
getReservoirGroup
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
return a ReservoirSystemGroup for the given reservoir element.- Parameters:
resElem- a reservoir element- Returns:
- a ReservoirSystemGroup for the given reservoir element or null.
-