skip to main content
Fish Release
During the hours of the day when power is not generated, water may be released to meet minimum fish flows called Fish Release or QFish. Minimum fish flows below the reservoir are specified on a monthly basis (12 values per year) and stored on a data object in a periodic slot. The release of water to meet a downstream demand is determined based on the available fish water in the reservoir, the other off peak releases that are occurring and the monthly minimum fish flow. The fish storage in the reservoir is accounted for each timestep. Fish water is either released or is lost due to evaporation. It is replenished through three methods: all inflow is shared, the accumulated local inflow is shared, or no inflow is shared. Also, anytime the pool exceeds the top of conservation pool, the fish storage is replenished.
Power releases are always made at full turbine capacity for as many hours of the day necessary to meet the load. The Fish Release is defined as the release of water that occurs when power releases are not being made. The Fish Release is considered a spill. To model this in RiverWare, a rule must be developed that calculates the additional water that must be released to meet the fish flow. Because this release is a minimum release, it is assumed that there will be no downstream flooding. Therefore, no additional functionality needs to be developed; the existing rule language is sufficient to simulate this release.
Accounting Setup on Reservoir and Control Point Objects
This model will use a simplified accounting network where each Reservoir has a storage account. Water will accumulate in the account and be released from the account according to user defined logic. The released accounting water will not propagate downstream. Following is a description of the modeling changes necessary by the user.
1. Enable accounting by selecting Enable Accounting on the Accounting menu.
2. Switch the controller from Rulebased Simulation to Inline Rulebased Simulation and Accounting.
3. Create a new Fish storage account on each desired reservoir.
4. Create a new Fish pass-through account on the object below the reservoir. Create a supply link between the two objects. This is necessary so that the user can set the outflow from the Fish account using a rule. Figure 3.15 shows a sample setup.
Figure 3.15  Sample Accounting
5. Develop User Defined Accounting Methods that describe the logic used to bring water into the account through the Slot Inflow according to one of the following methods:
– All inflow is shared and the fish account is fully replenished when the pool exceeds the top of conservation pool.
– The accumulated local inflow is shared and the fish account is fully replenished when the pool exceeds the top of conservation pool.
– No inflow is shared but the fish account is fully replenished when the pool exceeds the top of conservation pool. Figure 3.16 shows a sample method that does this.
Figure 3.16  Sample Accounting setup
6. Develop User Defined Accounting Methods that describe the logic used to account for Evaporation losses. Evaporation losses on any day is calculated as the current fish storage divided by the current total conservation storage times the current day total evaporation loss.
RPL Implementation
The rule should calculate the additional fish release necessary, set the Outflow slot and Bypass or Regulated Spill slot, by looking at the Off Peak Spill on the reservoir. This value is the water spilled (through regulated spill structures) during the non-peak (non-generating) hours of the day. If the Off Peak Spill does not meet the fish requirement, then the Reservoir outflow and bypass or regulated spill will be increased. To calculate the Fish Release, it is necessary to keep track of the volume of Fish water that is stored in the reservoir. This is best accomplished using the Accounting functionality in RiverWare. The accounting system in RiverWare provides a robust system of accounts and methods to keep track of different types of water in a system.The release rule should look at the previous Storage on the Fish account and available Fish Inflows to make sure that there is available water. When the reservoir dispatches again, the Turbine Release, Peak Release and Peak time should remain the same, only the Off Peak Spill, will change. A separate assignment will set the outflow supply from the Fish account equal to the additional water released from the reservoir. This assignment must set the outflow from the account and increase the outflow from the reservoir. Both of these outflows must be averages over the entire timestep but will actually be over the Off Peak period. Therefore, when writing the rules, it is important to calculate the correct value (off-peak) and then convert it to an average over the timestep. Figure 3.17 shows a sample rule.
Figure 3.17  Sample fish release rule
When this rule executes, the following steps are performed.
1. A Fish rule fires and checks to see if the off-peak spill is enough to meet the fish requirement. If not met, the outflow is increased to meet the requirement limited by available fish water. Another assignment will set the outflow supply from the Fish account and the bypass or regulated spill slot.
2. If the Outflow was reset, the reservoir will dispatch given inflow and outflow. The dispatch method will call the Peak Power Equation with Off Peak Spill method which calculates the tailwater elevation, Peak Release and peak time. Storage, Pool Elevation and the spill slots are set using the mass balance equations.
3. The reservoir’s accounting system will solve for Fish slot inflow and gain loss according to user defined methods. The storage account will then solve for Fish account storage.
Revised: 06/04/2022