skip to main content
Spill
The Spill methods, except the Monthly Spill, calculate the Spill from Reservoirs based on several possible physical combinations of controlled and uncontrolled spillways. (See Monthly Spill for details about the Monthly Spill.)
The Regulated Spill and Bypass slots are regulated—or controlled—spill structures. Values in these two slots can be specified by the user via inputs or rules. Each slot accommodates spill up to the maximum amount as specified by its rating table (Regulated Spill Table and Bypass Table). Unregulated Spill is an uncontrolled spill. Therefore, it is always a computed output based on the average Pool Elevation of the reservoir as specified in the Unregulated Spill Table. Thus, the user selects a Spill method based on the combination of structures (Regulated Spill, Bypass, and/or Unregulated Spill) that exist on the reservoir and the level of granularity desired.
The total Spill slot is the sum of the individual spills from each structure. Spills are calculated twice for each timestep. The first time a Spill method is called from a dispatch method, it checks for user inputs, calculates any Unregulated Spill, and sets the spill to zero for Regulated Spill and Bypass structures where there is no user-specified value. The total Spill is then calculated and returned to the dispatch method. The dispatch method determines (Turbine) Release by subtracting the Spill from Outflow, and executes the user-specified power calculation method. (On the power reservoirs, the slot is called Turbine Release, on the storage reservoir, the slot is called Release. In this description, we use the term (Turbine) Release.) If the (Turbine) Release cannot be met in the power calculation method, a second call is made to the spill calculation method. The excess flow is then distributed among the Regulated Spill and/or Bypass structures which have available capacity. If both Regulated Spill and Bypass are available, excess spill is typically first discharged through the Regulated Spill (except when the Bypass, Regulated and Unregulated method is selected; for this method the Bypass gets spill first).
The optional DRIFT flag is available on the Regulated Spill and Bypass slots. When the DRIFT flag is set for several sequential timesteps, the method models varying flow through a set spillway gate in response to fluctuations in Pool Elevation. The first timestep prior to initializing drift is used to determine a gate index called Regulated (or Bypass) Drift Index. This index is interpolated from the three-dimensional Regulated (or Bypass) Spill Index Table, which relates Pool Elevation to Spill for several gate indexes. In the subsequent timesteps where the DRIFT flag is set, the same index is used to find the spill value at the current average Pool Elevation. The gate index is maintained throughout the selected time period. At each timestep, a new value of spill is calculated for the structure based on the current Pool Elevation. Specifying DRIFT is considered an input, and may affect over determination of spill parameters.
* None
None is used if Spill should not be modeled. In this method, the Spill slot on the reservoir is set equal to zero. All releases must be through the (Turbine) Release.
This method sets the Spill to zero and performs no further calculations. If the method is being called for the second time in a timestep because there is excess outflow that won’t fit through (Turbine) Release, an error will be posted which states, “No Spillways Available.” In this case, either decrease the Outflow or select a different spill method.
There are no slots specific to this method.
* Monthly Spill
The Monthly Spill method is only appropriate for use in long timestep models where Reservoir fluctuations over the timestep cannot be accurately determined.
Note:  There is no physical (head dependent) basis to the spill in this method. In this method, there are three components to the spill: unregulated, regulated and bypass. Both Regulated Spill and Bypass are considered controlled releases. A Maximum Controlled Release must be specified by the user.
    
Any additional Outflow is immediately categorized as Unregulated Spill.
    
Bypass may be specified as a user input. If not input, RiverWare sets this slot to zero. Regulated Spill is always computed by RiverWare. It is set to zero unless the Reservoir cannot release the Outflow through the Release and Bypass. When this occurs, the additional portion of the Outflow is released through the Regulated Spill.
Slots Specific to This Method
 Bypass
Type: Series Slot
Units: FLOW
Description: Flow through the Bypass spillway
Information:  
I/O: Optional; may be input by the user or set to zero by RiverWare.
 Maximum Controlled Release
Type: Table Slot
Units: FLOW
Description: The maximum amount of Turbine Flow, Regulated Spill, and Bypass
Information: 1X1 table slot
I/O: Required input
 Regulated Spill
Type: Series Slot
Units: FLOW
Description: Excess Outflow not released through the turbine(s)
Information:  
I/O: Output only
 Unregulated Spill
Type: Series Slot
Units: FLOW
Description: Outflow in excess of the Maximum Controlled Release
Information:  
I/O: Output only
Method Details  
Initially, the Monthly Spill method is called before Release has been calculated. If the Outflow is greater than the Maximum Controlled Release, Unregulated Spill is set as follows:
    
If the Outflow is less than the Maximum Controlled Release, Unregulated Spill is set to zero. In both cases, all of the following evaluations are also made:
    
    
    
After Release is calculated, the Monthly Spill method may be called a second time. The method is called a second time if the Release cannot accommodate the remaining portion of the Outflow, as follows:
    
Remember that Unregulated Spill was calculated before the Release was calculated.
If this occurs, Regulated Spill and Spill are reevaluated as follows:
    
    
* Unregulated
The Unregulated spill method models a single uncontrolled spillway called Unregulated Spill. The Unregulated Spill is a function of the average reservoir Pool Elevation. Because it is uncontrolled, it takes precedence (that is, water goes through it first) over other types of outflow (that is, Release or Turbine Release) in the reservoir. When this method is chosen the user category Unregulated Spill Type will appear.
The user may not specify (input or via rules) any spill slots with this method.
Slots Specific to This Method
 Unregulated Spill
Type: Series Slot
Units: FLOW
Description: Spill corresponding to the average Pool Elevation over the timestep
Information:  
I/O: Output only
 Unregulated Spill Capacity Fraction
Type: Series Slot
Units: Decimal
Description: The fraction of the Unregulated Spill structure that is available.
Information: If not input or set by a rule, it defaults to 1.0. The value must be between 0.0 and 1.0, inclusive. Example: if 50 ft of a 1000 ft long crest is blocked, the Unregulated Spill Capacity Fraction would be input to 0.95.
I/O: Input, set by a rule, or output
 Unregulated Spill Table
Type: Table Slot
Units: LENGTH vs FLOW
Description: Pool Elevation versus corresponding Unregulated Spill values
Information: Must contain a row which corresponds to a spill of zero for interpolation purposes.
I/O: Required input
Method Details  
When the Unregulated spill method is called for the first time within a dispatch method, Unregulated Spill is calculated and Spill is set equal to Unregulated Spill. This computation is performed based on the selected method described in the Unregulated Spill Type category.
The Unregulated spill method will be called a second time (after the (Turbine) Release has been calculated) only if the sum of (Turbine) Release and Spill are less than Outflow. When this is the case, an error which reads, “Outflow greater than spillway capacities and Release” is posted because the excess Spill cannot be incorporated.
* Regulated
The Regulated spill method models Spill using one controlled spillway called Regulated Spill. Because the spill is controlled, the spill may be any value between zero and the maximum possible regulated spill for that pool elevation. The user may specify (input or via rules) one of the following:
• No slots
• Spill or
• Regulated Spill
If either is specified and there is excess flow which cannot be met by the (Turbine) Release, a RiverWare error will be flagged and the simulation halted.
Slots Specific to This Method
 Regulated Spill
Type: Series Slot
Units: FLOW
Description: Flow through the regulated spillway
Information:  
I/O: Optional; may be input by the user or determined by RiverWare. If Regulated Spill is input by the user and the value is less than the required spill, a RiverWare error is flagged and the simulation is halted.
 Regulated Spill Capacity Fraction
Type: Series Slot
Units: Decimal
Description: The fraction of the Regulated Spill structure that is available.
Information: If not input or set by a rule, it defaults to 1.0. The value must be between 0.0 and 1.0, inclusive. Example: if 1 of 8 gates are unavailable, the Regulated Spill Capacity Fraction would be input to 0.875.
I/O: Input, set by a rule, or output
 Regulated Spill Drift Index
Type: Series Slot
Units: NONE
Description: Gate setting index
Information: If the user has set the DRIFT flag on the Regulated Spill slot, the gate setting index from the previous timestep is maintained.
I/O: Optional; if not set by the user, the index is calculated from the Regulated Spill Index Table.
 Regulated Spill Table
Type: Table Slot
Units: LENGTH vs FLOW
Description: Pool Elevation vs corresponding Maximum Regulated Spill values
Information:  
I/O: Required input
 Regulated Spill Index Table
Type: Table Slot
Units: NOUNITS vs LENGTH vs FLOW
Description: Gate Index vs Pool Elevation vs Regulated Spill
Information: Data must be entered into the table in increasing blocks of the same Gate Index value for the three-dimensional table interpolator to work correctly. For every block of same gate indexes in column 1, Pool Elevations should be listed in increasing order in column 2, and the corresponding Spills in column 3. Following is an example of the proper way to formulate the Regulated Spill Index Table.
 
Gate Index
Pool Elevation
Spill
2
500
110
2
550
160
2
600
210
3
500
120
3
550
170
3
600
220
4
500
130
4
550
180
4
600
230
I/O: Optional; if the user sets the DRIFT flag on the Regulated Spill slot, this data table must be provided.
Method Details  
Note:  Regulated Spill and Spill are both outputs if neither is specified by the user. Only one of these slots, however, can be specified on a given timestep. When this is the case, the other slot will be output.
The first step in the Regulated spill method is to obtain the minRegSpill. If the Closed Gate Overflow method is selected, the minRegSpill is computed; see Closed Gate Overflow for details. If not, the minRegSpill is zero. Next, the maximum regulated spill, maxRegSpill is computed by looking up the average pool elevation (that is, the average of the current Pool Elevation estimate and the previous Pool Elevation) on the Regulated Spill Table. Then the Regulated Spill Capacity Fraction and minRegSpill are applied as follows:
    
Release is then checked to see if it has been calculated. If Release is not known, it means that the method is being called for the first time for the particular timestep and the following steps are taken.
1. If both the Spill and Regulated Spill are input (remember setting a DRIFT flag is considered an input), a RiverWare error is flagged and the run terminates.
2. If Spill is input by the user, and it is greater than the maxRegSpill or less than the minRegSpill, a RiverWare error is posted. Otherwise, Regulated Spill is set equal to Spill.
3. If Regulated Spill is input/rules by the user and the DRIFT flag is set, a function is called to perform the drift calculations. A description of the DRIFT function is given at the end of this method description. If Regulated Spill is input and greater than the maxRegSpill or less than the minRegSpill, a RiverWare error is posted. Otherwise, Spill is set equal to the Regulated Spill.
4. If neither Regulated Spill nor Spill are input, they are both set equal to the minRegSpill.
After Release has been calculated, the Regulated spill function may be called a second time if the sum of Release and Spill is less than the Outflow.
The following calculations and evaluations are performed if the function is called for the second time.
1. If either Spill or Regulated Spill are input, a RiverWare error is posted stating that RiverWare is unable to allocate the excess flow and the run terminates.
2. Regulated Spill is set equal to the Outflow minus the Release. If Regulated Spill is greater than the maxRegSpill, a RiverWare error is flagged informing the user that Outflow is greater than the spillway capacities and Release and the run terminates.
3. Spill is set equal to Regulated Spill.
Drift Calculations  
The drift function is used to calculate Regulated Spill at a specific timestep if it is flagged DRIFT. If the current timestep’s Regulated Drift Index is not known, but the previous timestep’s Regulated Drift Index is known, the current Regulated Drift Index is set equal to the previous timestep’s Regulated Drift Index.
The Drift tables assume that the full spill works is available. Therefore, if there is a Capacity Fraction that is less than 1.0, the Drift calculation (for both regulated and bypass) must be modified.
Figure 29.3   
With the Drift flag is set, if there is a valid Capacity Fraction[t-1] that is not equal to 1.0, then the Capacity Fraction[t] is set to the previous value, but not overwriting inputs or rule values. This causes the Capacity Fraction to remain throughout the drift operation unless it is changed via a new user input. The screenshot to the right shows a sample run. The Capacity fraction is set to 0.75 on 5/12 18:00 and that value remains until a new value is set via user input on 5/13 18:00. Although this set of inputs may not make physical or operations sense, is shows how the algorithm would perform given the inputs shown.
The current Regulated Drift Index is then used in conjunction with the average Pool Elevation over the current timestep and the Regulated Spill Index Table to obtain the current timestep’s Regulated Spill.
If it is the first DRIFT timestep, a Gate Index must be calculated. This is done by using an average of the Pool Elevation at t-2 (when available) and at t-1, the previous regulated spill, the greatest and least spill values, and the Regulated Spill Index Table. If there is a non-zero capacity fraction, the value used for previous regulated spill is adjusted as follows:
    
This computes the spill that would have occurred if all the gates were available. If the previous regulated spill is less than the smallest possible Regulated Spill or greater than the largest possible Regulated Spill (according to the Regulated Spill Index Table), a RiverWare error is flagged and the run terminates.
The Regulated Drift Index slot is then set for the current timestep. Finally, the Regulated Spill can be determined from the three dimensional interpolation of the Regulated Spill Index Table using the average Pool Elevation over the timestep and the Regulated Spill Index.
At the end of the algorithm, the computed regulated spill (assuming all the gates are available) is multiplied by the Capacity Fraction [t] to determine spill that will occur with the given capacity fraction. This Regulated Spill is then set on the slot.
* Regulated and Unregulated
The Regulated and Unregulated method models Spill through one controlled, Regulated Spill, and one uncontrolled spillway, Unregulated Spill. First, the Unregulated Spill can not be specified (input or via rules) or a RiverWare error terminates the run. The Unregulated Spill is a function of the average reservoir Pool Elevation and takes precedence (that is, water goes through it first) over other types of outflow (that is, Release or Turbine Release or Regulated Spill) in the reservoir. When this method is chosen the user category Unregulated Spill Type will appear.
Second, the user may specify (input or via rules) either
• No slots
• Spill or
• Regulated Spill
If one is specified and there is excess flow which cannot be met by the (Turbine) Release, an error will be flagged and the simulation halted.
Slots Specific to This Method
 Regulated Spill
Type: Series Slot
Units: FLOW
Description: Flow through the regulated spillway
Information:  
I/O: Optional; may be input by the user or determined by RiverWare. If regulated spill is set by the user and the value is greater than the required spill, an error is flagged and the simulation is halted.
 Regulated Spill Capacity Fraction
Type: Series Slot
Units: Decimal
Description: The fraction of the Regulated Spill structure that is available.
Information: If not input or set by the user, it defaults to 1.0. The value must be between 0.0 and 1.0, inclusive. Example: if 1 of 8 gates are unavailable, the Regulated Spill Capacity Fraction would be input to 0.875.
I/O: Input, set by a rule, or output
 Regulated Spill Drift Index
Type: Series Slot
Units: NONE
Description: Gate setting index
Information: If the user has set the DRIFT flag on the Regulated Spill slot, the gate setting index from the previous timestep is maintained.
I/O: Optional; if not set by the user, the index is calculated from the Regulated Spill Index Table.
 Regulated Spill Index Table
Type: Table Slot
Units: NOUNITS vs LENGTH vs FLOW
Description: Gate Index vs Pool Elevation vs Regulated Spill
Information:  
I/O: Optional; if the user sets the DRIFT flag on the Regulated Spill slot, this data table must be provided.
Data must be entered into the table in increasing blocks of the same Gate Index value for the three-dimensional table interpolator to work correctly. For every block of same gate indexes in column 1, Pool Elevations should be listed in increasing order in column 2, and the corresponding Spills in column 3.
 
Gate Index
Pool Elevation
Spill
2
500
110
2
550
160
2
600
210
3
500
120
3
550
170
3
600
220
4
500
130
4
550
180
4
600
230
 Regulated Spill Table
Type: Table Slot
Units: LENGTH vs FLOW
Description: Pool Elevation vs corresponding Max Regulated Spill values
Information:  
I/O: Required input
 Unregulated Spill
Type: Series Slot
Units: FLOW
Description: Spill corresponding to the average Pool Elevation over the timestep
Information:  
I/O: Output only
 Unregulated Spill Capacity Fraction
Type: Series Slot
Units: Decimal
Description: The fraction of the Unregulated Spill structure that is available.
Information: If not input or set by the user, it defaults to 1.0. The value must be between 0.0 and 1.0, inclusive. Example: if 50 ft of a 1000 ft long crest is blocked, the Unregulated Spill Capacity Fraction would be input to 0.95.
I/O: Input, set by a rule, or output
 Unregulated Spill Table
Type: Table Slot
Units: LENGTH vs FLOW
Description: Pool Elevation vs corresponding Unregulated Spill values
Information: Must contain a row which corresponds to a spill of zero for interpolation purposes.
I/O: Required input
Method Details  
Note:  Regulated Spill and Spill are both output slots if neither is input by the user. Only one of these slots, however, can be input for any timestep. When this is the case, the other slot will be an output slot.
The first step in the regulatedPlusUnregSpillCalc method is to obtain the minRegSpill. If the Closed Gate Overflow method is selected, the minRegSpill is computed; see Closed Gate Overflow for details. If not, the minRegSpill is 0.0. Next, the maximum regulated spill, maxRegSpill is computed by looking up the average pool elevation (that is, the average of the current Pool Elevation estimate and the previous Pool Elevation) on the Regulated Spill Table. Then the Regulated Spill Capacity Fraction and minRegSpill are applied as follows:
    
The Unregulated Spill is then calculated; see Unregulated for a description of the steps. If the Unregulated Spill is input by the user, a RiverWare error is flagged and the run terminates.
Release is then checked to see if it has been calculated. If Release is not known, it means that the method is being called for the first time for the particular timestep and the following steps are taken.
1. If both the Spill and Regulated Spill are input (remember setting a DRIFT flag is considered an input), a RiverWare error is flagged and the run terminates.
2. If Spill is input and it is greater than the sum of the Unregulated Spill and the maxRegSpill, a RiverWare error is flagged which states that the requested Spill cannot be met. If the Spill is input and less than the Unregulated Spill plus minRegSpill, a RiverWare error is flagged. Otherwise, Regulated Spill is calculated as Spill minus Unregulated Spill.
3. If Regulated Spill is input by the user and the DRIFT flag is set, a function is called to perform the drift calculations. A description of the DRIFT function is given in the Regulated Spill section. If Regulated Spill is input and greater than the maxRegSpill or less than the minRegSpill, a RiverWare error is posted. Otherwise, Spill is set equal to the Regulated Spill plus Unregulated Spill.
4. If neither Regulated Spill nor Spill are input, Regulated Spill is set equal to the minRegSpill and Spill is set equal to Unregulated Spill plus minRegSpill.
After the Release has been calculated, the Regulated and Unregulated function may be called a second time if the sum of Release and Spill is less than the Outflow.
The following calculations are performed if the function is called for the second time.
1. If either Spill or Unregulated Spill are input, an error is posted because there are no free spill variables and RiverWare is unable to allocate the excess Outflow.
2. The Regulated Spill is calculated using the following equation:
    
3. If Regulated Spill is greater than the maxRegSpill, a RiverWare error is posted stating that the Outflow is greater than the spillway capacities and Release and the run terminates.
4. Spill is calculated as Regulated Spill plus Unregulated Spill.
* Regulated and Bypass
The Regulated and Bypass method models spill through two regulated spillways called Regulated Spill and Bypass. The user may specify (input or via rules) one of the following:
• No slots
• Spill
• Spill and Bypass
• Spill and Regulated Spill
• Bypass
• Regulated Spill, or
• Bypass and Regulated Spill
If all three slots are specified, an error will be issued. Also, if Spill is specified and there is excess flow that cannot be met by (Turbine) Release, a RiverWare error will be flagged and the simulation halted.
The order in which water goes through the various outflow structures depends on what is known. Input/Rules values take precedence, followed by (Turbine) Release, followed by Regulated Spill, and finally by Bypass. For example, on a timestep where there is zero (Turbine) Release and no spill slots are specified, outflows will first go through Regulated Spill and any flow greater than max regulated spill will go through Bypass.
Slots Specific to This Method
 Bypass
Type: Series Slot
Units: FLOW
Description: Flow through the Bypass spillway
Information:  
I/O: Optional; may be input by the user or determined by RiverWare. If Bypass is set by the user and the value is greater than the required spill, a RiverWare error is flagged and the simulation is halted.
 Bypass Capacity Fraction
Type: Series Slot
Units: Decimal
Description: The fraction of the Bypass structure that is available.
Information: If not input or set by the user, it defaults to 1.0. The value must be between 0.0 and 1.0, inclusive. Example: if 2 of 8 gates are unavailable, the Bypass Capacity Fraction would be input to 0.75.
I/O: Input, set by a rule, or output
 Bypass Drift Index
Type: Series Slot
Units: NONE
Description: Gate setting index for the Bypass spillway
Information: If the user has set the DRIFT flag on the Bypass slot, the gate setting index from the previous timestep is maintained.
I/O: Optional; if not set by the user, the index is calculated from the Bypass Index Table.
 Bypass Index Table
Type: Table Slot
Units: NOUNITS vs LENGTH vs FLOW
Description: Gate Index vs Pool Elevation vs Bypass Spill
Information:  
I/O: Optional; if the user sets the DRIFT flag on the Bypass spill slot, this data table must be provided.
 Bypass Table
Type: Table Slot
Units: LENGTH vs FLOW
Description: Pool Elevation vs corresponding maximum bypass spill values
Information:  
I/O: Required input
 Regulated Spill
Type: Series Slot
Units: FLOW
Description: Flow through the regulated spillway
Information:  
I/O: Optional; may be input by the user or determined by RiverWare.
 Regulated Spill Capacity Fraction
Type: Series Slot
Units: Decimal
Description: The fraction of the Regulated Spill structure that is available.
Information: If not input or set by the user, it defaults to 1.0. The value must be between 0.0 and 1.0, inclusive. Example: if 1 of 8 gates are unavailable, the Regulated Spill Capacity Fraction would be input to 0.875.
I/O: Input, set by a rule, or output
 Regulated Spill Drift Index
Type: Series Slot
Units: NONE
Description: Gate setting index for the Regulated Spill
Information: If the user has set the DRIFT flag on the Regulated Spill slot, the gate setting index from the previous timestep is maintained.
I/O: Optional; if not set by the user, the index is calculated from the Regulated Spill Index Table.
 Regulated Spill Index Table
Type: Table Slot
Units: NOUNITS vs LENGTH vs FLOW
Description: Gate Index vs Pool Elevation vs Regulated Spill
Information:  
I/O: Optional; if the user sets the DRIFT flag on the Regulated Spill slot, this data table must be provided.
Data must be entered into the table in increasing blocks of the same Gate Index value for the three-dimensional table interpolator to work correctly. For every block of same gate indexes in column 1, Pool Elevations should be listed in increasing order in column 2, and the corresponding Spills in column 3.
 
Gate Index
Pool Elevation
Spill
2
500
110
2
550
160
2
600
210
3
500
120
3
550
170
3
600
220
4
500
130
4
550
180
4
600
230
 Regulated Spill Table
Type: Table Slot
Units: LENGTH vs FLOW
Description: Pool Elevation vs corresponding maximum regulated spill values
Information:  
I/O: Required input
Method Details  
Note:  Spill, Regulated Spill, and Bypass can all be outputs if they are not specified by the user. The user may specify Spill, or either Regulated Spill or Bypass, or both Regulated Spill and Bypass. The slots which are not specified will be output slots.
The first step in the Regulated Spill method is to obtain the minRegSpill. If the Closed Gate Overflow method is selected, the minRegSpill is computed; see Closed Gate Overflow for details. If not, the minRegSpill is 0.0. Next, the maximum regulated spill, maxRegSpill is computed by looking up the average pool elevation (that is, the average of the current Pool Elevation estimate and the previous Pool Elevation) on the Regulated Spill Table. Then the Regulated Spill Capacity Fraction and minRegSpill are applied as follows:
    
The next step is to obtain the maximum Bypass, maxBypass, by looking up the average pool elevation (that is, the average of the current Pool Elevation estimate and the previous Pool Elevation) on the Bypass Table. Then the Bypass Capacity Fraction is applied as follows:
    
1. If Spill, Bypass, and Regulated Spill are all input/rules, a RiverWare Error is posted and the simulation run terminates.
2. If Spill and Regulated Spill are input/rules by the user, the following steps are performed.
Note:  If the DRIFT flag is set on the Regulated Spill slot, Regulated Spill is considered an input.
– Drift calculations are performed if the DRIFT flag is set on the Regulated Spill slot. See Regulated Spill for a description of the drift calculations.
– If Regulated Spill is greater than either Spill or maxRegSpill a RiverWare error is flagged and the run terminates.
– If Regulated Spill is less than minRegSpill, a RiverWare error is flagged and the run terminates.
– Bypass is calculated as Spill minus Regulated Spill.
– If Bypass is greater than the maxBypass, an error is flagged.
3. If Spill and Bypass are input, the following steps are taken.
Note:  If the DRIFT flag is set on the Bypass slot, Bypass is considered an input.
– Drift calculations are performed if the DRIFT flag is set on the Bypass slot. The DRIFT calculations are performed in a similar manner to the drift calculations for Regulated Spill which are explained in the Regulated Spill method description.
– If Bypass is greater than either Spill or the maxBypass, a RiverWare error is flagged and the simulation terminates.
– Regulated Spill is calculated as Spill minus Bypass.
– If Regulated Spill is either greater than the maximum regulated spill or less than the minimum regulated spill, an error is flagged and the run terminates.
4. If Spill is input but neither Regulated Spill nor Bypass are input or flagged as DRIFT, the following steps are taken.
– Regulated Spill is set as the lesser value of either the Spill or the maxRegspill. The Regulated Spill also cannot be less than the minRegSpill.
– If Regulated Spill is less than Spill, Bypass is calculated as Spill minus Regulated Spill.
– If Bypass is greater than the maxBypass, a RiverWare error is flagged and the run terminates.
– If Regulated Spill is equal to Spill, Bypass is set equal zero.
5. If Spill is not input, and both Bypass and Regulated Spill are input, the following steps are taken.
– The drift calculations are performed for both Regulated Spill and Bypass if the DRIFT flags have been set. A description of the DRIFT calculations is contained in the Regulated Spill method.
– Regulated Spill and Bypass are checked against the maxRegSpill and maxBypass, respectively. If either Regulated Spill is greater, a RiverWare error is flagged and the run terminates.
– Spill is calculated as Regulated Spill plus Bypass.
6. If the DRIFT flag is set on the Regulated Spill, the drift calculations are performed (as described in the Regulated Spill method) to calculate Regulated Spill. The calculated Regulated Spill value is then checked against spillway capacities. If only Regulated Spill is input, the value is checked against the spillway capacity. Spill is set equal to Regulated Spill and Bypass is set to zero if the Regulated Spill is less than or equal to the maxRegSpill. If the Regulated Spill is greater than the maxRegSpill or less than the minRegSpill, a RiverWare error is posted and the simulation run terminates.
7. If the DRIFT flag is set on the Bypass, the drift calculations are performed (as described in the Regulated Spill method) to calculate Bypass. The calculated Bypass value is then checked against spillway capacities. If only Bypass is input, the input value is checked against the spillway capacity. Spill is calculated as Bypass plus Regulated Spill. Regulated Spill is set to the minimum regulated spill, if the Bypass is less than the maximum bypass. If the Bypass is greater than the maxBypass, a RiverWare error is posted and the simulation run terminates.
8. If no slots are input, Spill is set equal minRegSpill. Bypass is set to zero and Regulated Spill is set to minRegSpill.
After Release has been calculated, the Regulated and Bypass function may be called a second time if the sum of the Release and Spill is less than the Outflow.
The following calculations are performed if the function is called for the second time.
1. If either Spill is input, or both Regulated Spill and Bypass are input, a RiverWare error is flagged and the simulation run terminates because there are no free spill variables.
2. If only Regulated Spill is input or flagged as DRIFT, Bypass is recalculated using the following formula:
    
Bypass is then checked against its spillway capacity and a RiverWare error is flagged and the simulation terminates the spillway capacity is exceeded. Spill is calculated as Bypass plus Regulated Spill if the Bypass is less than or equal to maximum allowable bypass.
3. If only Bypass is input or flagged as DRIFT, Regulated Spill is recalculated using the following formula:
    
The Regulated Spill is then checked against its spillway capacity and minRegSpill. A RiverWare error is posted and the simulation run terminates if the spillway capacity is exceeded or is less than minimum. Spill is calculated as the sum of Bypass and Regulated Spill.
4. If neither Bypass nor Regulated Spill is input, the following steps are performed.
– A local variable, excess, is calculated as Outflow minus Turbine Release minus minRegSpill.
– Regulated Spill is set equal to the lesser value of excess or maxRegSpill but must be greater than minRegSpill.
– If Regulated Spill is less than the excess, Bypass is calculated as excess minus Regulated Spill.
– Bypass is checked against its spillway capacity. If Bypass is greater than the maxBypass, a RiverWare error is posted and the simulation run terminates.
– Spill is calculated as the Bypass plus the Regulated Spill.
– If Regulated Spill is equal to the Excess, Bypass is set equal to zero and Spill is set equal to Regulated Spill.
* Regulated, Bypass and Unregulated
This method models spill through two controlled spillways called Bypass and Regulated Spill and one uncontrolled spillway called Unregulated Spill. The user may not specify (input or via rules) the Unregulated Spill. This value is always output and is a function of the average reservoir Pool Elevation. The user may specify (input or rules) one of the following:
• No slots
• Spill
• Spill and Bypass
• Spill and Regulated Spill
• Bypass
• Regulated Spill, or
• Bypass and Regulated Spill
If Spill, Regulated Spill, and Bypass are specified, an error will be issued. Also, if Spill is specified and there is excess flow that cannot be met by (Turbine) Release, a RiverWare error will be flagged and the simulation halted.
The order in which water goes through the various outflow structures depends on what is known. Unregulated Spill takes precedence, followed by input/rules values, followed by (Turbine) Release, followed by Regulated Spill, and finally by Bypass. For example, on a timestep where there is zero (Turbine) Release and no spill slots are specified, outflows will first go through Unregulated Spill (computed based on pool elevation), then Regulated Spill up to capacity and any excess flows will go through Bypass.
Slots Specific to This Method
 Bypass
Type: Series Slot
Units: FLOW
Description: Flow through the Bypass spillway
Information:  
I/O: Optional; may be input by the user or determined by RiverWare. If Bypass is set by the user and the value is greater than the required spill, a RiverWare error is flagged and the simulation is halted.
 Bypass Capacity Fraction
Type: Series Slot
Units: Decimal
Description: The fraction of the Bypass structure that is available.
Information: If not input or set by the user, it defaults to 1.0. The value must be between 0.0 and 1.0, inclusive. Example: if 2 of 8 gates are unavailable, the Bypass Capacity Fraction would be input to 0.75.
I/O: Input, set by a rule, or output
 Bypass Drift Index
Type: Series Slot
Units: NONE
Description: Gate setting index for the Bypass spillway
Information: If the user has set the DRIFT flag on the Bypass slot, the gate setting index from the previous timestep is maintained.
I/O: Optional; if not set by the user, the index is calculated from the Bypass Index Table.
 Bypass Index Table
Type: Table Slot
Units: NOUNITS vs LENGTH vs FLOW
Description: Gate Index vs Pool Elevation vs Bypass Spill
Information:  
I/O: Optional; if the user sets the DRIFT flag on the Bypass spill slot, this data table must be provided.
 Bypass Table
Type: Table Slot
Units: LENGTH vs FLOW
Description: Pool Elevation vs corresponding maximum bypass spill values
Information:  
I/O: Required input
 Regulated Spill
Type: Series Slot
Units: FLOW
Description: Flow through the regulated spillway
Information:  
I/O: Optional; may be input by the user or determined by RiverWare.
 Regulated Spill Capacity Fraction
Type: Series Slot
Units: Decimal
Description: The fraction of the Regulated Spill structure that is available.
Information: If not input or set by the user, it defaults to 1.0. The value must be between 0.0 and 1.0, inclusive. Example: if 1 of 8 gates are unavailable, the Regulated Spill Capacity Fraction would be input to 0.875.
I/O: Input, set by a rule, or output
 Regulated Spill Drift Index
Type: Series Slot
Units: NONE
Description: Gate setting index for the Regulated Spill
Information: If the user has set the DRIFT flag on the Regulated Spill slot, the gate setting index from the previous timestep is maintained.
I/O: Optional; if this slot is not set by the user, the gate index is calculated from the Regulated Spill Index Table.
 Regulated Spill Index Table
Type: Table Slot
Units: NOUNITS vs LENGTH vs FLOW
Description: Gate Index vs Pool Elevation vs Regulated Spill
Information:  
I/O: Optional; if the user sets the DRIFT flag on the Regulated Spill slot, this data table must be provided.
Data must be entered into the table in increasing blocks of the same Gate Index value for the three-dimensional table interpolator to work correctly. For every block of same gate indexes in column 1, Pool Elevations should be listed in increasing order in column 2, and the corresponding Spills in column 3.
 
Gate Index
Pool Elevation
Spill
2
500
110
2
550
160
2
600
210
3
500
120
3
550
170
3
600
220
4
500
130
4
550
180
4
600
230
 Regulated Spill Table
Type: Table Slot
Units: LENGTH vs FLOW
Description: Pool Elevation vs corresponding maximum regulated spill values
Information:  
I/O: Required input
 Unregulated Spill
Type: Series Slot
Units: FLOW
Description: spill corresponding to the average Pool Elevation over the timestep
Information:  
I/O: Output only
 Unregulated Spill Capacity Fraction
Type: Series Slot
Units: Decimal
Description: The fraction of the Unregulated Spill structure that is available.
Information: If not input or set by the user, it defaults to 1.0. The value must be between 0.0 and 1.0, inclusive. Example: if 50 ft of a 1000 ft long crest is blocked, the Unregulated Spill Capacity Fraction would be input to 0.95.
I/O: Input, set by a rule, or output
 Unregulated Spill Table
Type: Table Slot
Units: LENGTH vs FLOW
Description: Pool Elevation vs corresponding unregulated spill values
Information:  
I/O: Required input
Method Details  
Note:  Spill, Regulated Spill, and Bypass may be output slots if they are not specified as input by the user. The user may specify either Spill or Regulated Spill or Bypass, or both Unregulated Spill and Bypass as input. The slots which are not set as input will be output slots.
The first step in the Regulated Spill method is to obtain the minRegSpill. If the Closed Gate Overflow method is selected, the minRegSpill is computed; see Closed Gate Overflow for details. If not, the minRegSpill is 0.0. Next, the maximum regulated spill, maxRegSpill is computed by looking up the average pool elevation (that is, the average of the current Pool Elevation estimate and the previous Pool Elevation) on the Regulated Spill Table. Then the Regulated Spill Capacity Fraction and minRegSpill are applied as follows:
    
The next step is to obtain the maximum Bypass, maxBypass by looking up the average pool elevation (that is, the average of the current Pool Elevation estimate and the previous Pool Elevation) on the Bypass Table. Then the Bypass Capacity Fraction is applied as follows:
    
The Unregulated Spill is then calculated; see Unregulated for a description of the steps. If the Unregulated Spill is input by the user, a RiverWare error is flagged and the run terminates.
If Spill, Bypass, and Regulated Spill are input, Spill is overdetermined and a RiverWare error is flagged and the simulation run terminates.
If Release has not been calculated, the method is executing for the first time in the current timestep and the following steps are taken.
1. If Spill is input by the user and Unregulated Spill is greater than the Spill, a RiverWare error is flagged and the simulation run terminates.
2. If Spill and Regulated Spill are input the following steps are taken.
Note:  If the DRIFT flag is set on the Regulated Spill slot, Regulated Spill is considered an input.
– Drift calculations are performed if the DRIFT flag is set on the Regulated Spill slot. See Regulated Spill for a description of the drift calculations.
– If Regulated Spill is greater than either Spill or maxRegSpill, a RiverWare error is flagged and the run terminates.
– If Regulated Spill is less than minRegSpill, a RiverWare error is flagged and the run terminates.
– Bypass is calculated as Spill minus Regulated Spill minus Unregulated Spill.
– If Bypass is either greater than the maxBypass or less than zero, an error is flagged.
3. If Spill and Bypass are input, the following steps are taken.
Note:  If the DRIFT flag is set on the Bypass slot, Bypass is considered an input.
– Drift calculations are performed if the DRIFT flag is set on the Bypass slot. The DRIFT calculations are performed in a similar manner to the drift calculations for Regulated Spill, which are explained in the Regulated Spill method description.
– If Bypass is greater than either Spill or the maxBypass, a RiverWare error is flagged and the run terminates.
– Regulated Spill is calculated as Spill minus Bypass minus Unregulated Spill.
– If Regulated Spill is either greater than the maxRegSpill or less than the minRegSpill, an error is flagged and the run terminates.
4. If Spill is input by the user and neither Bypass nor Regulated Spill are input, the following steps are taken.
– Regulated Spill is set as the lesser value of either the Spill minus Unregulated Spill or the maxRegSpill. The Regulated Spill also cannot be less than the minRegSpill.
– If Regulated Spill is less than Spill minus Unregulated Spill, Bypass is set equal to Spill minus Regulated Spill minus Unregulated Spill.
– If Bypass is greater than the maxBypass, a RiverWare error is flagged and the run terminates.
– If Regulated Spill is equal to Spill minus Unregulated Spill, Bypass is set equal to zero.
5. If Spill is not input, but both Bypass and Regulated Spill are input, the following steps are taken.
– The drift calculations are performed for both Regulated Spill and Bypass if the DRIFT flags have been set. A description of the DRIFT calculations is contained in the Regulated Spill method.
– Regulated Spill and Bypass are checked against the maxRegSpill and maxBypass, respectively. If either Regulated Spill is greater, a RiverWare error is flagged and the run terminates. If Regulated Spill is less than the minRegSpill, an error is issued.
– Spill is calculated as the sum of Regulated Spill, Bypass, and Unregulated Spill.
6. If the DRIFT flag is set on the Regulated Spill, the drift calculations are performed (as described in the Regulated Spill method) to calculate Regulated Spill. The calculated Regulated Spill Value is then checked against spillway capacities. If only Regulated Spill is input, the value is checked against the spillway capacity. Spill is calculated as Regulated Spill plus Unregulated Spill and Bypass is set to zero, if the Regulated Spill is less than the maxRegSpill. If the Regulated Spill is greater than the maxRegSpill or less than the minRegSpill, a RiverWare error is posted and the simulation run terminates.
7. If the DRIFT flag is set on the Bypass, the drift calculations are performed (as discussed in the Regulated Spill method) to calculated the Bypass. The calculated Bypass value is then checked against spillway capacities. If only Bypass is input, the input value is checked against the spillway capacity. Spill is calculated as Bypass plus Unregulated Spill and Regulated Spill is set to the minRegSpill, if the Bypass is less than the maxBypass. If the Bypass is greater than the maxBypass, a RiverWare error is posted and the simulation run terminates.
8. If no slots are input, Spill is set equal to Unregulated Spill plus minRegSpill. Bypass is set to zero and Regulated Spill is set to minRegSpill.
After Release has been calculated, the Regulated, Bypass and Unregulated function may be called a second time if the sum of the Release and Spill is less than the Outflow.
The following calculations are performed if the function is called for the second time.
1. If either Spill is input or both Regulated Spill and Bypass are input, a RiverWare error is flagged and the simulation run terminates because there are no free spill variables.
2. If only Regulated Spill is input or flagged as DRIFT, Bypass is recalculated using the following formula:
    
The Bypass is then checked against its spillway capacity. A RiverWare error is posted and the simulation run terminates if the spillway capacity is exceeded. Spill is calculated as the sum of Bypass, Unregulated Spill, and Regulated Spill if the Bypass is less than or equal to the maxBypass.
3. If only Bypass is input, Regulated Spill is recalculating the following formula:
    
The Regulated Spill is then checked against its spillway capacity and minRegSpill. A RiverWare error is posted and the simulation run terminates if the spillway capacity is exceeded or is less than minimum. Spill is calculated as the sum of Bypass, Regulated Spill, and Unregulated Spill if the Regulated Spill is less than or equal to the maximum allowable regulated spill.
4. If neither Regulated Spill nor Bypass are input, the following steps are performed.
– A local variable, excess, is calculated as Outflow minus Unregulated Spill minus Turbine Release minus minimum regulated spill.
– Regulated Spill is set equal to the lesser value of excess or maxRegSpill but must be greater than minRegSpill.
– If Regulated Spill is less than excess, Bypass is calculated as excess minus Regulated Spill.
– Bypass is checked against its spillway capacity. If Bypass is greater than the maxBypass, a RiverWare error is posted and the simulation run terminates.
– Spill is set equal to the sum of Bypass, Regulated Spill, and Unregulated Spill.
– If Regulated Spill is equal to Excess, Bypass is set equal to zero and Spill is set equal to the sum of Regulated Spill and Unregulated Spill.
* Bypass, Regulated and Unregulated
Note:  This user method is the similar to the Regulated, Bypass and Unregulated method but switches the order of the Bypass and Regulated Spill outlet works. This method is preferable in institutional cases where the term “Bypass” is favored over the term “Regulated Spill”. Other than the order reversal, the functionality is similar to the Regulated, Bypass and Unregulated method.
This method models spill through two controlled spillways called Bypass and Regulated Spill and one uncontrolled spillway called Unregulated Spill. The user may not specify (input or via rules) the Unregulated Spill. This value is always output and is a function of the average reservoir Pool Elevation. The user may specify (input or rules) one of the following:
• No slots
• Spill
• Spill and Bypass
• Spill and Regulated Spill
• Bypass
• Regulated Spill, or
• Bypass and Regulated Spill
If Spill, Regulated Spill, and Bypass are specified, an error will be issued. Also, if Spill is specified and there is excess flow that cannot be met by (Turbine) Release, a RiverWare error will be flagged and the simulation halted.
The order in which water will go through the various outflow structures depends on what is known. Unregulated Spill takes precedence, followed by input/rules values, followed by (Turbine) Release, followed by Bypass, and finally by Regulated Spill. For example, on a timestep where there is zero (Turbine) Release and no spill slots are specified, outflows will first go through Unregulated Spill (required based on pool elevation), then Bypass up to capacity and any excess flows will go through Regulated Spill.
See Regulated, Bypass and Unregulated for a description of the method algorithm; the Bypass, Regulated and Unregulated algorithm differs only in that Bypass takes precedence over Regulated Spill.
See Regulated, Bypass and Unregulated for the slots specific to this method.
Revised: 07/09/2023