skip to main content
A power reservoir may release additional water from its power pool to meet a specified power commitment, i.e., the load specified for that reservoir.
Model Setup
The user must select methods on each power reservoir involved in the hydropower operation. Also, a flood control computational subbasin must be used. Optionally, methods can be selected on the control point to limit the effect the control point has on the hydropower operation.
Power Reservoir Methods
On each Level Power Reservoir, the user should select the methods summarized in Table 3.3.
Each method has its own data requirements as described in the appropriate section. Special consideration should be given to the Load Calculation as there are methods to specify the Load as an input, monthly value, annual value, periodic table, or seasonal weekday or weekend load or load time.
Table 3.3   
Section in Objects
Peak Power Equation with Off Peak Spill
Power Release
Peak Power Equation with Off Peak Spill Release
Any method but None
Additional Hydropower Release
Meet Hydropower Load
Load Calculation
Any method but No Method
Control Point Methods
On control points, consider selecting the Flooding does not constrain hydropower release in the Hydropower Flooding Exception category. This method, sometimes used on outflow control points, indicates that additional flooding at the control point does not limit hydropower releases.
Note:  This is not typically used except in special circumstances.
Computational Subbasin Methods
Because the hydropower release operation prevents releasing hydropower water that causes additional flooding downstream, it relies on verification and data that is implemented during the Operating Level Balancing flood control initialization. As a result, the basin must execute Operating Level Balancing flood control and the same subbasin must be used for both operations. Because the hydropower operation is dependent on having flood control, no additional method selections are required on the subbasin.
RPL Implementation
A rule will need to be created for each flood basin that has hydropower reservoirs that make additional hydropower releases. The same basin used for flood control must be used. In the rule, a predefined RPL function, HydropowerRelease, is used to compute the additional release from each reservoir; see HydropowerRelease in RiverWare Policy Language (RPL) for details.
Figure 3.14 shows a sample rule that meets the HydropowerRelease using the “Flood Basin” computational subbasin. The execution constraint forces the rule to execute only once.
Figure 3.14  Sample hydropower release rule
HydropowerRelease Function—Detailed Description of Logic
See HydropowerRelease in RiverWare Policy Language (RPL) for the general logic of the HydropowerRelease function.
Note:  If the level power reservoir is disabled and just passing inflows as described Pass Inflows in Objects and Methods, no load is calculated nor are any releases made for hydropower purposes. Essentially, the disabled reservoir is skipped in all calculations described below. Also, see Hydropower Releases Downstream Search for details about disabled downstream reservoirs limiting upstream hydropower releases.
The HydropowerRelease function executes the following process.
1. Prioritizes the power reservoirs in the basin according to the relative Load shortage. This is calculated using Equation 3.1. This is a value less than one. The reservoirs with the highest values are first, the lowest reservoirs last.
2. In order of priority, hypothetically calculates the additional release to meet the shortage as the minimum of the following:
– The Outflow calculated to meet the given Load. The method uses the user selected methods on the reservoir, i.e. it calls the Peak Power Equation with Off Peak Spill Release method and the selected tailwater method.
– The Outflow calculated such that the Pool Elevation would exactly equal the Minimum Power Pool Elevation.
– The Outflow calculated such that the Pool Elevation would exactly equal the Minimum Elevation for Power Operations.
– The Outflow calculated such that the Pool Elevation exactly equals the previous Pool Elevation minus the Maximum Power Pool Drawdown slot.
– The Outflow that generate the maximum possible Energy. This Energy is produced by running the turbines at max release (generator capacity) for the full timestep.
The method sets the Proposed Additional Hydropower Release slot and also returns the additional flow to the calling rule function.
3. The function then hypothetically makes the release and visits downstream control points until it reaches a tandem reservoir or the end of the subbasin, whichever comes first1. If the release causes (additional) flooding at a control point, it reduces the release until flooding is not caused or the release becomes zero.
4. A control point’s available space hydrograph (in units of flow projected into the future based on the routing coefficients on the control point) is calculated using Equation 3.2.
For the purpose of Equation 3.2, Inflow includes the value of the Inflow slot (at the time of the last dispatch) and the additional inflow resulting from the hypothetical additional releases from upstream reservoirs 2. It also contains the proposed flood control release hydrograph from the last pass of the flood control method.
Once all power reservoirs have been visited (in priority order), the HydropowerRelease() function returns to the calling rule. The result is a list of {slot,value,object} triplets,. The triplets take the form {powerReservoir.slot, value for this slot, powerReservoir}. The slots include the Additional Power Release, the reservoir Outflow (if non-zero), and depending on method selection, the Load (if using the Seasonal Load Time method; see Seasonal Load Time in Objects and Methods for details.
Where values for additional power releases are zero, the triplet {reservoir.Additional Power Release, 0.0, reservoir} will be returned, but no triplet for the reservoir’s Outflow slot will be returned, because the value of the Outflow slot will not change as a direct result of this rule. (It may change as an indirect result, if an upstream reservoir makes an additional power release.) This avoids unnecessary dispatching when no additional power releases are made on a tributary.
The rule then sets these slots, if different, and the reservoir and all downstream objects dispatch.

1 Hydropower releases from upstream reservoirs will accumulate in the first downstream tandem reservoir, if one exists. No consideration is given to control points downstream of a tandem reservoir. The search continues through a disabled reservoirs; see Hydropower Releases Downstream Search for details.

2 The notion of hypothetical releases is significant here because a rule function cannot have side-effects (i.e., change the state of a simulation object). This means that none of the computations made by the HydropowerRelease function are visible until/unless the Hydropower rule succeeds in setting all the slots returned from the HydropowerRelease function.

Revised: 01/05/2024