skip to main content
Regulation Discharge
The Regulation Discharge method category is only visible if the Operating Level Balancing method is selected for the Flood Control category on the control point. A selected regulation discharge method will calculate regulation discharge, meaning the maximum flow that is allowed in the channel at the control point, for each timestep in the specified forecast period. Calculation of these values are fundamental to the Operating Level Balancing procedure for determining flood control releases.
At the selection of any regulation discharge method, categories for Stage Control Over Forecast, Sag Operation and Regulation Recession appear. Selecting methods in these dependent categories can alter the regulation discharge results as described in detail below.
Selecting a Regulation Discharge method also makes visible categories for Key Control Point Balancing and Flooding Exception. Methods in these categories do not modify regulation discharge values, but regulation discharge values are necessary as inputs to these methods.
Regulation discharge methods are only executed when the regulation discharge (G) flag is set for a timestep on the Reg Discharge Calculation slot. This flag can only be set by a rule. When a rule has set the flag for a timestep and the inflow to the control point is known, the Solve given Inflow dispatch method calls the selected regulation discharge method for execution. After execution the flag is removed so that regulation discharge will not redispatch unless the flag is reset by a rule. In this way, the timing of calculating regulation discharge can be controlled by the order of the ruleset. See Regulation Discharge in USACE‑SWD Modeling Techniques for details on USACE‑SWD models.
Table 10.2 summarizes options for regulation discharge and its dependent method categories. It shows dependencies among methods and the slots associated with each. All are described in detail in subsequent sections.
 
Table 10.2  Regulation discharge options
Method
Dependent Method Category
Dependent Method
Input Slots
Output Slots
None
(none)
 
(none)
(none)
Channel Regulation
 
 
Discharge Table
Stage Control Intervals
Additional Peaking Flow
Reg Discharge Calculation
Regulation Discharge
Empty Space
 
Stage Control Over Forecast
Stage Control Varies Over Forecast
(none)
(none)
 
 
Stage Control Fixed Over Forecast
(none)
(none)
 
Sag Operation
None
(none)
(none)
 
 
Sag Operation
Sag Period
Sag Tolerance
Sag Operation
 
Regulation Recession
None
(none)
(none)
 
 
Regulation Recession
Regulation Recession
(none)
 
Key Control Point Balancing
None
(none)
(none)
 
 
Operating Level Balancing
Key Control Point Reservoirs
Balance Period
Balance Tolerance
Balance Iterations
Balance Level
Share
 
Flooding Exception
None
(none)
(none)
 
 
Flooding Exception
Excepted Reservoirs
Excepted Flood Releases
(none)
 
Hydropower Flooding Exception
None
(none)
(none)
 
 
Releases Not Constrained by Flooding
(none)
(none)
Reservoir Current Level Regulation
 
 
Regulation Reservoirs
Level Regulation Table
Stage Control Intervals
Variable Regulation Intervals
Variable Regulation Tolerance
Additional Peaking Flow
Level Regulation Parameter Minimum
Reg Discharge Calculation
Regulation Discharge
Empty Space
Level Regulation Parameter
 
Stage Control Over Forecast
Stage Control Varies Over Forecast
(none)
(none)
 
 
Stage Control Fixed Over Forecast
(none)
(none)
 
Sag Operation
None
(none)
(none)
 
 
Sag Operation
Sag Period
Sag Tolerance
Sag Operation
 
Regulation Recession
None
(none)
(none)
 
 
Regulation Recession
Regulation Recession
(none)
 
Key Control Point Balancing
None
(none)
(none)
 
 
Operating Level Balancing
Key Control Point Reservoirs
Balance Period
Balance Tolerance
Balance Iterations
Balance Level
Share
 
Flooding Exception
None
(none)
(none)
 
Hydropower Flooding Exception
None
(none)
(none)
 
 
Releases Not Constrained by Flooding
(none)
(none)
 
 
Flooding Exception
Excepted Reservoirs
Excepted Flood Releases
(none)
Reservoir Future Level Regulation
 
 
Regulation Reservoirs
Level Regulation Table
Future Level Tolerance
Future Level Iterations
Stage Control Intervals
Variable Regulation Intervals
Variable Regulation Tolerance
Additional Peaking Flow
Level Regulation Parameter Minimum
Reg Discharge Calculation
Regulation Discharge
Empty Space
Level Regulation Parameter
 
Stage Control Over Forecast
Stage Control Varies Over Forecast
(none)
(none)
 
 
Stage Control Fixed Over Forecast
(none)
(none)
 
Sag Operation
None
(none)
(none)
 
 
Sag Operation
Sag Period
Sag Tolerance
Sag Operation
 
Regulation Recession
None
(none)
(none)
 
 
Regulation Recession
Regulation Recession
(none)
 
Key Control Point Balancing
None
(none)
(none)
 
 
Operating Level Balancing
Key Control Point Reservoirs
Balance Period
Balance Tolerance
Balance Iterations
Balance Level
Share
 
Flooding Exception
None
(none)
(none)
 
 
Flooding Exception
Excepted Reservoirs
Excepted Flood Releases
(none)
 
Hydropower Flooding Exception
None
(none)
(none)
 
 
Releases Not Constrained by Flooding
(none)
(none)
Reservoir System Percent Full Regulation
 
 
 
Regulation Reservoirs
Percent Full Regulation Table
Minimum Regulation Discharge
Stage Control Intervals
Variable Regulation Intervals
Variable Regulation Tolerance
Additional Peaking Flow
Reg Discharge Calculation
Regulation Discharge
Empty Space Hydrograph
 
Percent Full Determination
Flood and Surcharge Water
(none)
(none)
 
 
Flood Water Only
(none)
(none)
 
Stage Control Over Forecast
Stage Control Varies Over Forecast
(none)
(none)
 
 
Stage Control Fixed Over Forecast
(none)
(none)
 
Sag Operation
None
(none)
(none)
 
 
Sag Operation
Sag Period
Sag Tolerance
Sag Operation
 
Regulation Recession
None
(none)
(none)
 
 
Regulation Recession
Regulation Recession
(none)
 
Key Control Point Balancing
None
(none)
(none)
 
 
Operating Level Balancing
Key Control Point Reservoirs
Balance Period
Balance Tolerance
Balance Iterations
Balance Level
Share
 
Flooding Exception
None
(none)
(none)
 
 
Flooding Exception
Excepted Reservoirs
Excepted Flood Releases
(none)
 
Hydropower Flooding Exception
None
(none)
(none)
 
 
Releases Not Constrained by Flooding
(none)
(none)
* None
This default method means no regulation discharge information is calculated and the control point cannot be part of operating level balancing for flood control.
* Channel Regulation
This method calculates regulation discharge based on information associated with the channel and not on conditions in upstream reservoirs. Regulation discharge calculations depend on discharge information entered by the user and can optionally be modified over certain periods by specifying intervals of stage control. The method populates results for the forecast period into the Regulation Discharge and Empty Space series slots.
Slots Specific to This Method
 Discharge Table
Type: PeriodicSlot
Units: FLOW
Description: Schedule of discharge values the user wants to use for determining regulation discharge with different rows representing different time points in the schedule, and different columns containing different discharge values.
Information: This is a n x n periodic slot where the user specifies the period over which the schedule repeats (1 Day, 1 Year, and so on) and the slot has the capability to generate discharges for any date from the schedule.
I/O: Required input
 Stage Control Intervals
Type: Periodic Slot
Units: FLOW
Description: User-defined intervals of stage control that are specified by pairing dates with lower discharge bound values.
Information: An interval of stage control runs from one specified date to the following specified date, and the lower discharge bound is by default a lookup to the value specified with the first date. If there is one interval only, or nonadjacent intervals, a NAN value can be paired with the date in the following line to signify the end of the stage control interval.
I/O: Optional input
 Reg Discharge Calculation
Type: SeriesSlot
Units: NONE
Description: This slot controls and documents the calculation of regulation discharge.
Information: The G flag must be set by rule for a timestep on this slot before regulation discharge is called by the dispatch method. The G flag gets removed when the regulation discharge calculation is complete. The value on the slot records the number of times that the G flag was set and regulation discharge was calculated for a timestep.
I/O: Output only
 Regulation Discharge
Type: SeriesSlot
Units: FLOW
Description: Regulation discharge values that are calculated at each time step.
Information: Contains results for each simulation timestep and also acts to temporarily hold the regulation results for the associated forecast timesteps during simulation of the current simulation timestep.
I/O: Output only
 Empty Space
Type: SeriesSlot
Units: FLOW
Description: Amount of space calculated as available for additional flow in the channel.
Information: Contains results for each simulation timestep and also acts to temporarily hold the empty space data for the associated forecast timesteps during simulation of the current simulation timestep.
I/O: Output only
 Additional Peaking Flow
Type: SeriesSlot
Units: FLOW
Description: Difference between the estimated peak flow through the control point (average over the timestep) and the instantaneous peak during the timestep.
Information: Additional Peaking Flow is used in the Empty Space calculation. If users have input a value for Additional Peaking Flow, the Empty Space will be reduced by this additional amount. Typically, the slot contains zeros for most timesteps and peak values on certain timesteps with peaks.
I/O: Optional; if not input, Additional Peaking Flow is not considered
Method Details  
The Channel Regulation Discharge method executes the following actions for all timesteps in the forecast period.
1. Check the Stage Control Intervals slot to determine if any forecast timesteps fall in an interval of Stage Control. If any or all do, execute the following Stage Control Calculations to assign regulation discharge values for those timesteps.
– Construct a list of discharge values using the lower bound defined for the interval on the Stage Control Intervals slot, and all discharge values greater than this lower bound that are defined for this date in the Discharge Table slot.
– If the previous simulation timestep’s inflow at the control point is less than the lower bound for the interval, the regulation discharge is set to the lower bound value.
– If not, the regulation discharge is set to the largest discharge in the list that is equaled or exceeded by the larger of the previous simulation timestep’s regulation discharge and the previous simulation timestep’s inflow at the control point.
2. For any timesteps that are not in Stage Control, set the regulation discharge to the minimum value in the Discharge Table for the date.
3. Execute default method for Sag Operation method category.
4. Execute default method for Regulation Recession method category.
5. Calculate Empty Space for each forecast timestep as the Regulation Discharge minus the flow through the control point. Flow through the control point is the sum of Inflow, Local Inflow and Additional Peaking Flow.
* Reservoir Current Level Regulation
This method calculates regulation discharge based on the current (previous timestep) level of a single associated upstream reservoir and a Level Regulation Table that associates the level with discharge values by date. Regulation discharge calculations can optionally be modified over certain periods by specifying intervals of stage control or intervals of variable regulation. The method populates results for the forecast period into the Regulation Discharge and Empty Space series slots.
Slots Specific to This Method
 Stage Control Intervals
Type: Periodic Slot
Units: FLOW
Description: User-defined intervals of stage control that are specified by pairing dates with lower discharge bound values.
Information: An interval of stage control runs from one specified date to the following specified date, and the lower discharge bound is by default a lookup to the value specified with the first date. If there is one interval only, or nonadjacent intervals, a NAN value can be paired with the date in the following line to signify the end of the stage control interval.
I/O: Optional input
 Reg Discharge Calculation
Type: SeriesSlot
Units: NONE
Description: This slot controls and documents the calculation of regulation discharge.
Information: The G flag must be set by rule for a timestep on this slot before regulation discharge is called by the dispatch method. The G flag gets removed when the regulation discharge calculation is complete. The value on the slot records the number of times that the G flag was set and regulation discharge was calculated for a timestep.
I/O: Output only
 Regulation Discharge
Type: SeriesSlot
Units: FLOW
Description: Regulation discharge values that are calculated at each time step.
Information: Contains results for each simulation timestep and also acts to temporarily hold the regulation results for the associated forecast timesteps during simulation of the current simulation timestep.
I/O: Output only
 Empty Space
Type: SeriesSlot
Units: FLOW
Description: Amount of space calculated as available for additional flow in the channel.
Information: Contains results for each simulation timestep and also acts to temporarily hold the empty space data for the associated forecast timesteps during simulation of the current simulation timestep.
I/O: Output only
 Additional Peaking Flow
Type: SeriesSlot
Units: FLOW
Description: Difference between the estimated peak flow through the control point (average over the timestep) and the instantaneous peak during the timestep.
Information: Additional Peaking Flow is used in the Empty Space calculation. If users have input a value for Additional Peaking Flow, the Empty Space will be reduced by this additional amount. Typically, the slot contains zeros for most timesteps and peak values on certain timesteps with peaks.
I/O: Optional; if not input, Additional Peaking Flow is not considered
 Regulation Reservoirs
Type: ListSlot
Units: NONE
Description: Name of the single associated upstream reservoir used in the regulation discharge calculations.
Information:  
I/O: Required input
 Variable Regulation Intervals
Type: PeriodicSlot
Units: FLOW
Description: User-defined intervals of variable regulation that are specified by dates with a lower discharge bound, an upper discharge bound, and a maximum discharge.
Information: An interval of variable regulation runs from one specified date to the following specified date, with the lower and upper discharge bounds and maximum discharge by default being a lookup to the values specified with the first date. If there is one interval only, or nonadjacent intervals, NAN values can be specified with the date in the following line to signify the end of the variable regulation interval.
I/O: Optional input
 Variable regulation Tolerance
Type: ScalarSlot
Units: DECIMAL
Description: Tolerance (as a proportion) on comparison of the previous simulation timestep’s total flow with previous simulation timestep’s regulation discharge; if difference is greater than this tolerance, the current regulation discharge is reset to the previous simulation timestep’s total flow.
Information: Default value of 0.03 comes from the 3% value coded into COE’s SUPER program.
I/O: Optional input
 Level Regulation Table
Type: PeriodicSlot
Units: NONE
Description: Schedule of reservoir level values where rows represent times, columns represent discharges and cell values represent the level value of the associated reservoir.
Information: This is an n x n periodic slot where the user specifies the period over which the schedule repeats (1 Day, 1 Year, and so on) and the slot has the capability to do a reverse lookup to generate a discharge value given a date and a reservoir level.
I/O: Required input
 Level Regulation Parameter Minimum
Type: Periodic
Units: None
Description: This is the lowest possible allowed Level Regulation Parameter
Information: If no values are specified in this slot, the lowest possible Level Regulation Parameter will be the Top of Conservation Pool on the specified reservoir.
I/O: Optional input
 Level Regulation Parameter
Type: Series Slot
Units: None
Description: This is the operating level that is used in the Level Regulation Table to determine the discharge.
Information: Only the current timesteps value is set
I/O: Output only
Method Details  
Note:  If the reservoir is disabled and just passing inflows (see Pass Inflows), the Regulation Discharge is set to the highest specified discharge in the Level Regulation Table. This is the largest flow in the column headings. This large Regulation Discharge is set so that this control point does not limit any other upstream reservoirs.
The Reservoir Current Level Regulation Discharge method executes the following actions for all timesteps in the forecast period.
1. Check the Stage Control Intervals slot to determine if any forecast timesteps fall in an interval of Stage Control. If any or all do, execute the following Stage Control Calculations to assign regulation discharge values for those timesteps.
– Construct a list of discharge values using the lower bound defined for the interval on the Stage Control Intervals slot, and all discharge values greater than this lower bound that are defined in the Level Regulation Table slot.
– If the previous simulation timestep’s inflow at the control point is less than the lower bound for the interval, the regulation discharge is set to the lower bound value.
– If not, the regulation discharge is set to the largest discharge in the list that is equaled or exceeded by the larger of the previous simulation timestep’s regulation discharge and the previous simulation timestep’s inflow at the control point.
2. For any timesteps that are not in Stage Control, the Level Regulation Parameter is set as the previous simulation timestep’s reservoir level. This value is then looked up in the Level Regulation Table using the forecast timestep’s date to generate a regulation discharge.
Note:  If the computed Level Regulation Parameter is less than the Level Regulation Parameter Minimum for the specified date, it is reset to the Level Regulation Parameter Minimum. If the Level Regulation Parameter Minimum periodic slot is not populated, the reservoir’s top of the conservation pool level is used as the minimum.
3. For any timesteps that are not in Stage Control, check the Variable Regulation Intervals slot to determine if these timesteps fall in an interval of Variable Regulation. If the current forecast timestep is within the start and end times of a variable regulation interval and the current regulation discharge falls between the lower and upper bounds defined on the Variable Regulation Intervals slot, do the following:
– Reset the regulation discharge to the lower bound value.
– If the previous forecast timestep’s regulation discharge is larger than the current regulation discharge, the current regulation discharge is reset to the previous timestep’s value.
– If the previous simulation timestep’s total inflow is 1 plus the value in the Variable Regulation Tolerance Slot (default is 0.03) times larger than the previous forecast timestep’s regulation discharge, then the current regulation discharge is reset to the previous simulation timestep’s total inflow.
– Finally, the maximum discharge check is applied. If the current regulation discharge exceeds the maximum discharge specified in the Variable Regulation Intervals slot, the regulation discharge is reset to the maximum discharge value.
4. Execute default method for Sag Operation method category.
5. Execute default method for Regulation Recession method category.
6. Calculate Empty Space for each forecast timestep as the Regulation Discharge minus the flow through the control point. Flow through the control point is the sum of Inflow, Local Inflow and Additional Peaking Flow.
* Reservoir Future Level Regulation
This method calculates regulation discharge based on the future level over the forecast period of a single associated upstream reservoir and a Level Regulation Table that associates the level with discharge values by date. Regulation discharge calculations can optionally be modified over certain periods by specifying intervals of stage control or intervals of variable regulation. The method populates results for the forecast period into the Regulation Discharge and Empty Space series slots.
Slots Specific to This Method
 Stage Control Intervals
Type: Periodic Slot
Units: FLOW
Description: User-defined intervals of stage control that are specified by pairing dates with lower discharge bound values.
Information: An interval of stage control runs from one specified date to the following specified date, and the lower discharge bound is by default a lookup to the value specified with the first date. If there is one interval only, or nonadjacent intervals, a NAN value can be paired with the date in the following line to signify the end of the stage control interval.
I/O: Optional input
 Reg Discharge Calculation
Type: SeriesSlot
Units: NONE
Description: This slot controls and documents the calculation of regulation discharge.
Information: The G flag must be set by rule for a timestep on this slot before regulation discharge is called by the dispatch method. The G flag gets removed when the regulation discharge calculation is complete. The value on the slot records the number of times that the G flag was set and regulation discharge was calculated for a timestep.
I/O: Output only
 Regulation Discharge
Type: SeriesSlot
Units: FLOW
Description: Regulation discharge values that are calculated at each time step.
Information: Contains results for each simulation timestep and also acts to temporarily hold the regulation results for the associated forecast timesteps during simulation of the current simulation timestep.
I/O: Output only
 Empty Space
Type: SeriesSlot
Units: FLOW
Description: Amount of space calculated as available for additional flow in the channel.
Information: Contains results for each simulation timestep and also acts to temporarily hold the empty space data for the associated forecast timesteps during simulation of the current simulation timestep.
I/O: Output only
 Additional Peaking Flow
Type: SeriesSlot
Units: FLOW
Description: Difference between the estimated peak flow through the control point (average over the timestep) and the instantaneous peak during the timestep.
Information: Additional Peaking Flow is used in the empty space calculation. If users have input a value for Additional Peaking Flow, the empty space will be reduced by this additional amount. Typically, the slot contains zeros for most timesteps and peak values on certain timesteps with peaks.
I/O: Optional; if not input, Additional Peaking Flow is not considered
 Regulation Reservoirs
Type: ListSlot
Units: NONE
Description: Name of the single associated upstream reservoir used in the regulation discharge calculations.
Information:  
I/O: Required input
 Variable Regulation Intervals
Type: PeriodicSlot
Units: FLOW
Description: User-defined intervals of variable regulation that are specified by dates with a lower discharge bound, an upper discharge bound, and a maximum discharge.
Information: An interval of variable regulation runs from one specified date to the following specified date, with the lower and upper discharge bounds and maximum discharge by default being a lookup to the values specified with the first date. If there is one interval only, or nonadjacent intervals, NAN values can be specified with the date in the following line to signify the end of the variable regulation interval.
I/O: Optional input
 Variable Regulation Tolerance
Type: ScalarSlot
Units: DECIMAL
Description: Tolerance (as a proportion) on comparison of the previous simulation timestep’s total flow with the previous simulation timestep’s regulation discharge; if difference is greater than this tolerance, the current regulation discharge is reset to the previous simulation timestep’s total flow.
Information: Default value of 0.03 comes from the 3% value coded into COE’s SUPER program.
I/O: Optional input
 Level Regulation Table
Type: PeriodicSlot
Units: NONE
Description: Schedule of reservoir level values where rows represent times, columns represent discharges and cell values represent the level value of the associated reservoir.
Information: This is an n x n periodic slot where the user specifies the period over which the schedule repeats (1 Day, 1 Year, and so on) and the slot has the capability to do a lookup to generate a reservoir level given a date and a discharge value.
I/O: Required input
 Level Regulation Parameter Minimum
Type: Periodic
Units: None
Description: This is the lowest possible allowed Level Regulation Parameter
Information: If no values are specified in this slot, the lowest possible Level Regulation Parameter will be the Top of Conservation Pool on the specified reservoir.
I/O: Optional input
 Level Regulation Parameter
Type: Series Slot
Units: None
Description: This is the operating level that is used in the Level Regulation Table to determine the discharge.
Information: A value is only set for the current timestep
I/O: Output only
 Future Level Tolerance
Type: ScalarSlot
Units: NONE
Description: Tolerance for the user to specify how close a future predicted maximum level for a reservoir assuming a certain discharge needs to be compared to the level for that discharge from the level regulation table. The level tolerance is expressed as a difference between the levels.
Information: The algorithm to find a future predicted maximum level for a reservoir that equals the level for a discharge from the level regulation table will iterate until the tolerance is reached or until the maximum number of iterations is reached, whichever comes first. Serves to limit excessive iterations in the calculation algorithm for reservoir future level regulation.
I/O: Required input
 Future Level Iterations
Type: ScalarSlot
Units: NONE
Description: Maximum number of iterations for the reservoir future level regulation algorithm.
Information: The algorithm to find a future predicted maximum level for a reservoir that equals the level for a discharge from the level regulation table will iterate until the tolerance specified in the Future Level Tolerance slot is reached or until the maximum number of iterations is reached, whichever comes first. Serves to limit excessive iterations in the calculation algorithm for reservoir future level regulation.
I/O: Required input
Method Details  
Note:  If the reservoir is disabled and just passing inflows (see Pass Inflows), the Regulation Discharge is set to the highest specified discharge in the Level Regulation Table. This is the largest flow in the column headings. This large Regulation Discharge is set so that this control point does not limit any other upstream reservoirs.
The Reservoir Future Level Regulation Discharge method executes the following actions for all timesteps in the forecast period.
1. Check the Stage Control Intervals slot to determine if any forecast timesteps fall in an interval of Stage Control. If any or all do, execute the following Stage Control Calculations to assign regulation discharge values for those timesteps.
– Construct a list of discharge values using the lower bound defined for the interval on the Stage Control Intervals slot, and all discharge values greater than this lower bound that are defined in the Level Regulation Table slot.
– If the previous simulation timestep’s inflow at the control point is less than the lower bound for the interval, the regulation discharge is set to the lower bound value.
– If not, the regulation discharge is set to the largest discharge in the list that is equaled or exceeded by the larger of the previous simulation timestep’s regulation discharge and the previous simulation timestep’s inflow at the control point.
2. If any forecast timesteps are not in stage control, calculate the Level Regulation Parameter. This involves finding future maximum levels in the one associated reservoir at various discharges and finding the one that matches the level for the current simulation timestep at that discharge in the Regulation Level Schedule table according to the following steps.
a. Get the level from the Level Regulation Table corresponding to the lowest discharge value and the current simulation date. Calculate the highest level the reservoir would reach over the forecast period assuming this discharge on every timestep and including all forecasted inflows, but not including surcharge releases. Compare this level to the level from the schedule table. If it is less than the table value, the level parameter for the solution is the calculated forecasted level. If it is greater than the table level, record this lowest discharge value and move to the next step.
b. Take the highest discharge value from the Level Regulation Table and repeat the procedure in the above step. If the highest forecasted level is greater than the level from the table for this highest discharge value, the level parameter for the solution is set to the highest predefined operating level for the reservoir. If the highest forecasted level is less, record the highest discharge value and move to the next step.
c. Perform a bisection search algorithm using the lowest and highest discharge values as initial end points. Do the forecasted level and table level calculations as above for the midpoint discharge value and reset it to the appropriate end point based on the results. Iterate this algorithm until the forecasted level and table level are within the specified tolerance in the Future Level Tolerance slot, or until the maximum number of specified iterations is reached from the Future Level Iterations slot.
d. If the maximum number of iterations is reached, a warning is issued to the user to let them know that iterations were exceeded without reaching the desired tolerance. Processing proceeds in this case using the level from the last iteration.
e. In all cases, the Level Regulation Parameter for the solution is limited to the highest predefined operating level for the reservoir.
f. Also, the Level Regulation Parameter is limited to be greater than the Level Regulation Parameter Minimum for the specified date. If the Level Regulation Parameter Minimum periodic slot is not populated, the reservoir’s top of the conservation pool level is used as the minimum.
g. For each timestep in the forecast period that is not in stage control, the regulation discharge is determined by looking up the Level Regulation Parameter and the current forecast timestep in the Level Regulation Table.
3. For any timesteps that are not in Stage Control, check the Variable Regulation Intervals slot to determine if these timesteps fall in an interval of Variable Regulation. If the current forecast timestep is within the start and end times of a variable regulation interval and the current regulation discharge falls between the lower and upper bounds defined on the Variable Regulation Intervals slot, do the following:
a. Reset the regulation discharge to the lower bound value.
b. If the previous forecast timestep’s regulation discharge is larger than the current regulation discharge, the current regulation discharge is reset to the previous timestep’s value.
c. If the previous simulation timestep’s total inflow is 1 plus the value in Variable Regulation Tolerance Slot (default is 0.03) times larger than the previous forecast timestep’s regulation discharge, then the current regulation discharge is reset to the previous simulation timestep’s total inflow.
d. Finally, the maximum discharge check is applied. If the current regulation discharge exceeds the maximum discharge specified in the Variable Regulation Intervals slot, the regulation discharge is reset to the maximum discharge value.
4. Execute default method for Sag Operation method category.
5. Execute default method for Regulation Recession method category.
6. Calculate Empty Space for each forecast timestep as the Regulation Discharge minus the flow through the control point. Flow through the control point is the sum of Inflow, Local Inflow and Additional Peaking Flow.
* Reservoir System Percent Full Regulation
This method calculates regulation discharge based on the percent of the flood pool occupied over the forecast period in a system of one or more associated reservoirs and a Percent Full Regulation Table that associates the percent full values with discharge values by date. Regulation discharge calculations can optionally be modified over certain periods by specifying intervals of stage control or intervals of variable regulation. The method populates results for the forecast period into the Regulation Discharge and Empty Space series slots.
Slots Specific to This Method
 Stage Control Intervals
Type: Periodic Slot
Units: FLOW
Description: User-defined intervals of stage control that are specified by pairing dates with lower discharge bound values.
Information: An interval of stage control runs from one specified date to the following specified date, and the lower discharge bound is by default a lookup to the value specified with the first date. If there is one interval only, or nonadjacent intervals, a NAN value can be paired with the date in the following line to signify the end of the stage control interval.
I/O: Optional input
 Reg Discharge Calculation
Type: SeriesSlot
Units: NONE
Description: This slot controls and documents the calculation of regulation discharge.
Information: The G flag must be set by rule for a timestep on this slot before regulation discharge is called by the dispatch method. The G flag gets removed when the regulation discharge calculation is complete. The value on the slot records the number of times that the G flag was set and regulation discharge was calculated for a timestep.
I/O: Output only
 Regulation Discharge
Type: SeriesSlot
Units: FLOW
Description: Regulation discharge values that are calculated at each time step.
Information: Contains results for each simulation timestep and also acts to temporarily hold the regulation results for the associated forecast timesteps during simulation of the current simulation timestep.
I/O: Output only
 Empty Space
Type: SeriesSlot
Units: FLOW
Description: Amount of space calculated as available for additional flow in the channel.
Information: Contains results for each simulation timestep and also acts to temporarily hold the empty space data for the associated forecast timesteps during simulation of the current simulation timestep.
I/O: Output only
 Additional Peaking Flow
Type: SeriesSlot
Units: FLOW
Description: Difference between the estimated peak flow through the control point (average over the timestep) and the instantaneous peak during the timestep.
Information: Additional Peaking Flow is used in the empty space calculation. If users have input a value for Additional Peaking Flow, the empty space will be reduced by this additional amount. Typically, the slot contains zeros for most timesteps and peak values on certain timesteps with peaks.
I/O: Optional; if not input, Additional Peaking Flow is not considered
 Regulation Reservoirs
Type: ListSlot
Units: NONE
Description: Name of the associated upstream reservoirs used in the regulation discharge calculations.
Information:  
I/O: Required input
 Variable Regulation Intervals
Type: PeriodicSlot
Units: FLOW
Description: User-defined intervals of variable regulation that are specified by dates with a lower discharge bound, an upper discharge bound, and a maximum discharge.
Information: An interval of variable regulation runs from one specified date to the following specified date, with the lower and upper discharge bounds and maximum discharge by default being a lookup to the values specified with the first date. If there is one interval only, or nonadjacent intervals, NAN values can be specified with the date in the following line to signify the end of the variable regulation interval.
I/O: Optional input
 Variable regulation Tolerance
Type: ScalarSlot
Units: DECIMAL
Description: Tolerance (as a proportion) on comparison of the previous simulation timestep’s total flow with the previous simulation timestep’s regulation discharge; if difference is greater than this tolerance, the current regulation discharge is reset to the previous simulation timestep’s total flow.
Information: Default value of 0.03 comes from the 3% value coded into COE’s SUPER program.
I/O: Optional input
 Percent Full Regulation Table
Type: PeriodicSlot
Units: DECIMAL
Description: Schedule of percent full values where rows represent times, columns represent discharges and cell values represent the percent full value (as a decimal) of the associated reservoirs.
Information: This is a n x n periodic slot where the user specifies the period over which the schedule repeats (1 Day, 1 Year, and so on) and the slot has the capability to do a reverse lookup to generate a discharge value given a date and a percent full value.
I/O: Required input
 Percent Full Regulation Parameter
Type: Series Slot
Units: Decimal
Description: This is the percentage of full used in the Percent Full Regulation Table.
Information: A value is set for each timestep in the forecast period
I/O: Output only
 Minimum Regulation Discharge
Type: ScalarSlot
Units: FLOW
Description: Minimum regulation discharge value used in calculating the percent full parameter.
Information: This is a single value in a 1x1 table slot and is used only in the Reservoir System Percent Full Regulation method
I/O: Optional input
Method Details  
Note:  If the reservoir is disabled and just passing inflows (see Pass Inflows), the reservoir is skipped in the computations below. The flows into that reservoir should already be passing through the reservoir.
The Reservoir System Percent Full Regulation Discharge method executes the following actions for all timesteps in the forecast period.
1. Check the Stage Control Intervals slot to determine if any forecast timesteps fall in an interval of Stage Control. If any or all do, execute the following Stage Control Calculations to assign regulation discharge values for those timesteps.
– Construct a list of discharge values using the lower bound defined for the interval on the Stage Control Intervals slot, and all discharge values greater than this lower bound that are defined in the Percent Full Regulation Table slot.
– If the previous simulation timestep’s inflow at the control point is less than the lower bound for the interval, the regulation discharge is set to the lower bound value.
– If not, the regulation discharge is set to the largest discharge in the list that is equaled or exceeded by the larger of the previous simulation timestep’s regulation discharge and the previous simulation timestep’s inflow at the control point.
2. If any forecast timesteps are not in stage control, calculate the Percent Full Regulation Parameter as follows.
– The total flood pool capacity of the system is determined as the difference between storage at top of flood pool and storage at conservation pool at the current simulation timestep for all the reservoirs listed in the Regulation Reservoirs slot. This is used as the denominator in all the following percent full calculations.
– In calculating the quantity of water in flood pool storage for the various timesteps in the following calculations, the storage at conservation pool for the current simulation timestep is used as the baseline storage value for determining flood pool volumes.
– When this regulation discharge method is selected, a dependent method category appears called Percent Full Determination. The selected method in this category determines if flood and surcharge water are included in flood pool storage calculations or if flood water only is included. The default method is flood and surcharge water to match the way COE’s SUPER program performs this calculation.
– Percent Full Regulation Parameters values for the current timestep and for the remaining forecast timesteps are calculated as follows.
• The numerator is the total flood pool storage on the desired timestep for all reservoirs in the Regulation Reservoirs list modified by potential adjustments as follows. For each timestep in the forecast period up to the desired timestep, if the total inflow to the control point for a timestep is less than the value specified in the optional Minimum Regulation Discharge slot, the inflow is subtracted from this minimum value and the numerator is reduced by this difference. After this adjustment is made for each timestep up to the desired timestep, a percent full value for the desired timestep is then calculated by dividing the adjusted numerator by the denominator determined above.
– The maximum percent full value for the system is then determined from among the ones calculated for each timestep in the forecast.
– For each timestep in the forecast period that is not in stage control, the regulation discharge is determined by looking up the maximum percent full value and the current forecast timestep in the Percent Full Regulation Table. If the maximum percent full value exceeds the highest percent defined for that date in the table, the regulation discharge is assigned to be the highest discharge value defined in the table.
3. For any timesteps that are not in Stage Control, check the Variable Regulation Intervals slot to determine if these timesteps fall in an interval of Variable Regulation. If the current forecast timestep is within the start and end times of a variable regulation interval and the current regulation discharge falls between the lower and upper bounds defined on the Variable Regulation Intervals slot, do the following:
– Reset the regulation discharge to the lower bound value.
– If the previous forecast timestep’s regulation discharge is larger than the current regulation discharge, the current regulation discharge is reset to the previous timestep’s value.
– If the previous simulation timestep’s total inflow is 1 plus the value in the Variable Regulation Tolerance Slot (default is 0.03) times larger than the previous forecast timestep’s regulation discharge, then the current regulation discharge is reset to the previous simulation timestep’s total inflow.
– Finally, the maximum discharge check is applied. If the current regulation discharge exceeds the maximum discharge specified in the Variable Regulation Intervals slot, the regulation discharge is reset to the maximum discharge value.
4. Execute default method for Sag Operation method category.
5. Execute default method for Regulation Recession method category.
6. Calculate Empty Space for each forecast timestep as the Regulation Discharge minus the flow through the control point. Flow through the control point is the sum of Inflow, Local Inflow and Additional Peaking Flow.
Revised: 07/09/2023