skip to main content
Control Point
Objects and Methods
Control Point
The Control Point object models a location on a river where certain flow requirements (maximum and minimums) must be maintained. Oftentimes, the control points are used for flood control operations such that the flood control releases do not cause an exceedence of channel capacity at these points.
General Slots
Inflow
Type: SeriesSlot
Units: FLOW
Description: Flow rate at the entrance of the object
Information:  
I/O: Optional; can be input or linked
Outflow
Type: SeriesSlot
Units: FLOW
Description: Flow rate at the exit of the object
Information:  
I/O: Output only
Forecast Period
Type: TableSlot
Units: NONE
Description: The forecast period is a number of timesteps, including the current simulation timestep, that is used in the algorithms for calculating forecasted hydrology, regulation discharge and flood releases. This can be propagated from a computational subbasin of which the control point is a member.
Information:  
I/O: Required input
Upstream Reservoirs
Type: ListSlot
Units: NONE
Description: List of upstream reservoirs that route to this control point during the forecast period.
Information: Routing coefficients must be provided in the Routing Coefficients slot for each reservoir in this list.
I/O: Required Input
Routing Coefficients
Type: TableSlot
Units: NONE, NONE
Description: Contains linear routing coefficients for routing flow from each reservoir specified in the Upstream Reservoirs slot.
Information: Each column corresponds to a reservoir specified in the Upstream Reservoirs slot. Each row represents a timestep starting with the current timestep. At each intersection of a row and a column is a decimal number to represent the routing coefficient from that reservoir for that timestep. The coefficients in a column for a reservoir must sum to 1.0 and must not be NaN.
Note:  The routing coefficients are not used in the solution of Control Point Outflow. They are strictly used in flood control and other basin wide operations; see “Flood Control”.
I/O: Required Input if Upstream Reservoirs are defined
User Methods
Local Inflow
The Local Inflow methods determine how the Local Inflow is calculated.
* None
This method is the default for the category, and should be selected when modeling of local inflow is not desired. There are no slots specifically associated with this method.
* Input Local Inflow
This method treats Local Inflow as an optional input.
Slots Specific to This Method
Local Inflow
Type: SeriesSlot
Units: FLOW
Description: The incremental local inflow to the control point
Information: If a disaggregation method is selected, the local inflow will be set to the result of the last stage of these methods.
I/O: Output
* Forecast Local Inflows
The selection of this method activates the category Generate Forecast Inflows which contains methods for forecasting the local inflow.
Generate Forecast Inflows
* None
This method is the default for this category which does nothing.
* Geometric Recession
On each timestep in the forecast period, this method will adjust the inflow hydrographs. If the Compute Forecast Period Incremental Local Inflows method is selected the Cumulative Local Inflow is used to forecast and set the Forecasted Cumulative Local Inflow. If the Compute Forecast Period Incremental Local Inflows methods is not selected, the input Deterministic Incremental Local Inflow slot is used to forecast and set the Local Inflow series slot.
Slots Specific to This Method
Deterministic Incremental Local Inflow
Type: SeriesSlot
Units: FLOW
Description: This slots holds a timeseries of the actual Local Inflows to the control point. These values are then adjusted by the forecast method and set on the Local Inflow slot.
Information: At the end of the run, the Local Inflow slot will be identical to this slot. If the Compute Full Run Incremental Local Inflows method is selected, values from the Incremental Local Inflow slot will be copied into this slot prior to the forecast. If the Compute Forecast Period Incremental Inflows method is selected, this slot is not used (i.e. inputs are ignored).
Information:  
I/O: Input only
Local Inflow
Type: SeriesSlot
Units: FLOW
Description: The incremental local inflow to the control point
Information: If a disaggregation method is selected, the local inflow will be set to the result of the last stage of these methods.
I/O: Output
Period of Perfect Knowledge
Type: ScalarSlot
Units: NONE
Description: Number of timesteps for which the forecast will equal the Deterministic Incremental Local Inflow, i.e., the forecast is known with complete certainty.
Information: Minimum value of 1; maximum value equal to the number of timesteps in the forecast period.
I/O: Input only
Type: Not linkable
Recession Factor
Type: ScalarSlot
Units: NONE
Description: A decimal value that is multiplied by the previous Local Inflow to determine the current value after the Period of Perfect Knowledge.
Information:  
I/O: Input only
This method uses different slots and sets different slots if the Compute Forecast Period Incremental Local Inflows is selected. But, there is always a Source slot and a Target slot where the Source slot is input and used to forecasted and set the Target slot. If the Compute Forecast Period Incremental Local Inflows is selected, the computational subbasin calls this method and uses the Cumulative Local Inflow (Source) to forecast and set the Forecasted Cumulative Local Inflow (Target). If it is not selected, the reservoir calls this method at the beginning of the timestep and uses the Deterministic Incremental Local Inflow (Source) slot to forecast and set the Local Inflow slot (Target). The following uses the Source/Target terminology to describe the methods.
The Source slot values are required inputs for each timestep. At the beginning of each controller timestep, the Geometric Recession method is executed. For each forecast timestep within the period of perfect knowledge, the Target is set to the Source value. For each forecast timestep after the period of perfect knowledge, the Target is set by multiplying the value of the Target from the previous timestep by the constant recession factor.
A value for the Source slot must be known at every timestep during the run. If Target values are desired past the end of the run, there must also be values in the Source slot at timesteps past the end of the run. If values for Source slot are not entered past the end of the run, the Target values for these timesteps are assumed to be zero.
* Exponential Recession
On each timestep in the forecast period, this method will adjust the inflow hydrographs. If the Compute Forecast Period Incremental Local Inflows method is selected the Cumulative Local Inflow is used to forecast and set the Forecasted Cumulative Local Inflow. If the Compute Forecast Period Incremental Local Inflows methods is not selected, the input Deterministic Incremental Local Inflow slot is used to forecast and set the Local Inflow series slot.
Slots Specific to This Method
Deterministic Incremental Local Inflow
Type: SeriesSlot
Units: FLOW
Description: This slots holds a timeseries of the actual Local Inflows to the control point. These values are then adjusted by the forecast method and set on the Local Inflow slot.
Information: At the end of the run, the Local Inflow slot will be identical to this slot. If the Compute Full Run Incremental Local Inflows method is selected, values from the Incremental Local Inflow slot will be copied into this slot prior to the forecast. If the Compute Forecast Period Incremental Inflows method is selected, this slot is not used (i.e. inputs are ignored).
I/O: Input only
Local Inflow
Type: SeriesSlot
Units: FLOW
Description: The incremental local inflow to the control point
Information: If a disaggregation method is selected, the local inflow will be set to the result of the last stage of these methods.
I/O: Output
Period of Perfect Knowledge
Type: ScalarSlot
Units: NONE
Description: Number of timesteps for which the forecast will equal the Deterministic Incremental Local Inflow, i.e., the forecast is known with complete certainty.
Information: Minimum value of 1; maximum value equal to the number of timesteps in the forecast period.
I/O: Input only
Minimum Forecasted Flow
Type: SeriesSlot
Units: FLOW
Description: The minimum forecasted flow.
Information: If the computed value for Local Inflow is less than the Minimum Forecasted Flow, it is set to the Minimum Forecasted Flow.
I/O: Input only
Low Flow Threshold
Type: ScalarSlot
Units: FLOW
Description: The flow rate that dictates whether to use the Low Flow Recession Coefficient or the High Flow Recession Coefficient.
Information:  
I/O: Input only
Low Flow Recession Coefficient
Type: ScalarSlot
Units: NONE
Description: The recession coefficient used when the Deterministic Incremental Local Inflow (at the end of the Period of Perfect Knowledge) is below or equal to the Low Flow Threshold.
Information:  
I/O: Input only
High Flow Recession Coefficient
Type: ScalarSlot
Units: NONE
Description: The recession coefficient used when the Deterministic Incremental Local Inflow (at the end of the Period of Perfect Knowledge) is above the Low Flow Threshold.
Information:  
I/O: Input only
This method uses different slots and sets different slots if the Compute Forecast Period Incremental Local Inflows is selected. But, there is always a Source slot and a Target slot where the Source slot is input and used to forecasted and set the Target slot. If the Compute Forecast Period Incremental Local Inflows is selected, the computational subbasin calls this method and uses the Cumulative Local Inflow (Source) to forecast and set the Forecasted Cumulative Local Inflow (Target). If it is not selected, the reservoir calls this method at the beginning of the timestep and uses the Deterministic Incremental Local Inflow (Source) slot to forecast and set the Local Inflow slot (Target). The following uses the Source/Target terminology to describe the methods.
The Source slot values are input for each timestep. At the beginning of each controller timestep, the Exponential Recession method is executed. For each forecast timestep within the period of perfect knowledge, the Target is set to the Source value. For each forecast timestep after the period of perfect knowledge, the Target slot is set as described below.
where Source is the value in the Source slot at the end of the period of perfect knowledge, C is the recession coefficient, t is the elapsed time of the forecast period, and T is the total time from the end of the period of perfect knowledge to the end of the forecast period.
If the Source at the end of the period of perfect knowledge is negative, the Target at that timestep is exactly equal to the Source. However, the Source used in the recession equation, is the last positive value for Source. In the event that there is not a positive value for the Source, RiverWare issues a warning, and all values for Local Inflow within the forecast period will be set to the Minimum Forecasted Flow.
A value for the Source slot must be known at every timestep during the run. If the Target values are desired past the end of the run, there must also be values in the Source slot at timesteps past the end of the run. If values for Source are not entered past the end of the run, the Target values for these timesteps are assumed to be zero.
Local Inflow Spatial Disaggregation on Subbasin
The Local Inflow Spatial Disaggregation on Subbasin category allows the user to include the Control Point in a spatial disaggregation of local inflow. The methods in this category are executed from the subbasin containing this control point; see “Local Inflow Spatial Disaggregation” for details.
* None
This method is the default for the Local Inflow Spatial Disaggregation on Subbasin category and should be selected when spatial disaggregation of local inflows is not desired. There are no slots specifically associated with this method.
* WAM Precipitation Curve Number
This method holds the slots necessary for the calculation of Distributed Flow at an un-gaged control point using the known flow at the Gage Control Point. This method uses the procedure used in the Water Availability Models (WAM) developed by Dr. Ralph Wurbs at Texas A&M University. There are eight slots associated with this method: Local Inflow, Distributed Flow, Drainage Area, Curve Number, Mean Precipitation, Upstream Gages, Downstream Gage, and Excluded Gages. These slots are accessed by the computational subbasin when executing the computational subbasin’s WAM Precipitation Curve Number method. The computational subbasin uses the input Distributed Flow values in the Gage Control Point to calculate and set the Distributed Flow values at all other non-gage control points in the subbasin. See “WAM Precipitation Curve Number” for the computational subbasin’s WAM Precipitation Curve Number documentation.
Slots Specific to This Method
Local Inflow
Type: SeriesSlot
Units: FLOW
Description: The disaggregated local inflow to the control point
Information: If a disaggregation or forecast method is selected, the local inflow will be set to the result of the last stage of these methods.
I/O: Output
Distributed Flow
Type: SeriesSlot
Units: FLOW
Description: The cumulative inflow to the control point
Information: Accessed or set in the Spatial Disaggregation method on the computational subbasin. The default timestep size is 1 Month, but can be changed by the user. Timestep size is independent of model timestep size.
I/O: Input or computed. If input, the control point should be a Gage Control Point. Computed for all non-gage control points and set with an input flag.
Drainage Area
Type: ScalarSlot
Units: Area
Description: The total drainage area contributing to the control point
Information: Used in the Spatial Disaggregation method on the computational subbasin to calculate Distributed Flow
I/O: Required Input
Curve Number
Type: ScalarSlot
Units: No Units
Description: The NRCS curve number for the subbasin contributing to the control point
Information: Used in the Spatial Disaggregation method on the computational subbasin to calculate Distributed Flow. It must be between 0 and 100.
I/O: Required Input
Mean Precipitation
Type: ScalarSlot
Units: Length
Description: The monthly mean precipitation for the subbasin contributing to the control point. It must be greater than 0.
Information: Used in the Spatial Disaggregation method on the computational subbasin to calculate Distributed Flow.
I/O: Required Input
Upstream Gages
Type: ListSlot
Units: NONE
Description: The list of upstream gages for this control point or gage
Information: Used in the Spatial Disaggregation method on the computation subbasin. The calculations require upstream gages to be entered for the downstream gage and for each Un-gaged Control Point.
I/O: Input
Downstream Gage
Type: ListSlot
Units: NONE
Description: The downstream gage for this control point
Information: Used in the Spatial Disaggregation method on the computational subbasin. The calculations require that a downstream gage be entered for all Un-gaged Control Points.
I/O: Input
Excluded Gages
Type: ListSlot
Units: NONE
Description: The list of gages excluded from the gain calculation for the downstream gage control point
Information: Used in the Spatial Disaggregation method on the computational subbasin. This list is set on un-gaged control points using the WAM Curve Number method or the Drainage Area method. For most un-gaged control points, this list is empty. When the list is used, it specifies which gages should be lumped into the gain for its downstream gage control point. Include only gages that are tributary to the downstream gage but are not tributary to the un-gaged control point. For example, un-gaged control point E excludes gaged control point C in its calculation.
I/O: Input
* Drainage Area
This method holds the slots necessary for the calculation of Distributed Flow at an Un-gaged Control Point using the known flow at the Gage Control Points. This method uses a ratio of un-gaged drainage area to gaged drainage area to scale gage flows. There are six slots associated with this method: Local Inflow, Distributed Flow, Drainage Area, Upstream Gages, Downstream Gage, and Excluded Gages. These slots are accessed by the computational subbasin when executing the computational subbasin’s Drainage Area method. The computational subbasin uses the input Distributed Flow values in the Gage Control Point(s) to calculate and set the Distributed Flow values at all other non-gage control points in the subbasin. See “Drainage Area” for the computational subbasin’s Drainage Area documentation.
Slots Specific to This Method
Local Inflow
Type: SeriesSlot
Units: FLOW
Description: The disaggregated local inflow to the control point
Information: If a disaggregation or forecast method is selected, the local inflow will be set to the result of the last stage of these methods.
I/O: Output
Distributed Flow
Type: SeriesSlot
Units: FLOW
Description: The cumulative inflow to the control point
Information: Accessed or set in the Spatial Disaggregation method on the computational subbasin. The default timestep size is 1 Month, but can be changed by the user. Timestep size is independent of model timestep size.
I/O: Input or computed. If input, the control point should be a Gage Control Point. Computed for all non-gage control points and set with an input flag.
Drainage Area
Type: ScalarSlot
Units: Area
Description: The total drainage area contributing to the control point
Information: Used in the Spatial Disaggregation method on the computational subbasin to calculate Distributed Flow
I/O: Required Input
Upstream Gages
Type: ListSlot
Units: NONE
Description: The list of upstream gages for this control point or gage
Information: Used in the Spatial Disaggregation method on the computation subbasin. The calculations require upstream gages to be entered for the downstream gage and for each Un-gaged Control Point.
I/O: Input
Downstream Gage
Type: ListSlot
Units: NONE
Description: The downstream gage for this control point
Information: Used in the Spatial Disaggregation method on the computational subbasin. The calculations require that a downstream gage be entered for all Ungaged Control Points.
I/O: Input
Excluded Gages
Type: ListSlot
Units: NONE
Description: The list of gages excluded from the gain calculation for the downstream gage control point
Information: Used in the Spatial Disaggregation method on the computational subbasin. This list is set on un-gaged control points using the WAM Curve Number method or the Drainage Area method. For most un-gaged control points, this list is empty. When the list is used, it specifies which gages should be lumped into the gain for its downstream gage control point. Include only gages that are tributary to the downstream gage but are not tributary to the un-gaged control point. For example, ungaged control point E excludes gaged control point C in its calculation.
I/O: Input
Gage Control Point category
A new category, Gage Control Point, is added to the Control Point when the WAM Precipitation Curve Number or Drainage Area method is selected. Methods in this category are used to indicate which Control Points are the gage control points. There are two methods in this category: the default, no action None method and the Gage Control Point method
* None
This is the default, no-action method. It indicates this Control Point is not a gage control point.
* Gage Control Point method
When selected, the Gage Control Point method indicates that the control point is considered a gage control point in the WAM Precipitation Curve Number or Drainage Area method. When this method is selected, the Control Point changes from a blue color to an orange color.
Local Inflow Temporal Disaggregation on Subbasin
The Local Inflow Temporal Disaggregation on Subbasin category allows the user to specify that this Control Point should be part of a Local Inflow Temporal Disaggregation as called from the containing subbasin. See “Local Inflow Temporal Disaggregation” for details.
* None
This method is the default for the Local Inflow Temporal Disaggregation on Subbasin category and should be selected when temporal disaggregation of local inflows is not desired. There are no slots specifically associated with this method.
* Specified Factors
This method holds the control point slots necessary for the execution of the Specified Factors method on the computational subbasin. The computational subbasin temporally disaggregates local inflows by multiplying the Distributed Flow values on the control point by the Temp Disagg Factors values on the computational subbasin and sets the Temporally Disaggregated Flow values as input on the control point. Refer to the computational subbasin’s Specified Factors documentation for details. The Specified Factors method on the control point performs no actions.
Slots Specific to This Method
Local Inflow
Type: SeriesSlot
Units: FLOW
Description: The disaggregated local inflow to the control point
Information: If a disaggregation or forecast method is selected, the local inflow will be set to the result of the last stage of these methods.
I/O: Output
Distributed Flow
Type: SeriesSlot
Units: FLOW
Description: The cumulative local inflow to the control point
Information: Accessed by the Temporal Disaggregation method on the computational subbasin. The default timestep size is 1 Month, but can be changed by the user. Timestep size is independent of model timestep size.
I/O: Required input.
Temporally Disaggregated Flow
Type: SeriesSlot
Units: FLOW
Description: The temporally disaggregated local inflow to the control point
Information: Set by the Temporal Disaggregation method on the computational subbasin.
I/O: Computed and set with the input flag.
Compute Incremental Local Inflows on Subbasin
The Compute Incremental Local Inflows on Subbasin category is used to specify whether the Control Point contains cumulative local inflows that must be disaggregated. Methods allow the user to either disaggregate all cumulative flows at once or forecast the cumulatives then disaggregate. The disaggregation is executed from the Computational Subbasin containing this Control Point. See “Incremental Local Inflows” for details.
The Compute Incremental Local Inflows on Subbasin category contains three methods, None, Compute Full Run Incremental Local Inflows and Compute Forecast Period Incremental Local Inflows methods.
When the Input Local Inflows is selected in the Local Inflow Calc category, the Compute Full Run Incremental Local Inflows becomes available. The new method contains two new slots: Cumulative Local Inflow and Incremental Local Inflow. Data must be input into the Cumulative Local Inflow slots. The computational subbasin will execute the Compute Full Run Incremental Local Inflows method and set the Incremental Local Inflow slots as input. Setting the Incremental Local Inflow slots as input prevents the slot values from being cleared in future model runs when the subbasin is disabled. The computational subbasin will first check that Compute Full Run Incremental Local Inflows method has been selected on all reservoirs and control points in the basin. During the model run, the Compute Full Run Incremental Local Inflows method will copy the value in the Incremental Local Inflow slot and set the Local Inflow slot.
When a forecast method is selected in the Generate Forecast Inflows methods, a new method becomes available within the Compute Incremental Local Inflows on Subbasin category: Compute Forecast Period Incremental Local Inflows. This method contains the Cumulative Local Inflow slot and the Forecasted Cumulative Local Inflow slot. When this method is selected the computational subbasin executes the Compute Forecast Period Incremental Local Inflows method and sets the Local Inflow slots.
* None
This method is the default for the Compute Incremental Local Inflows on Subbasin category and should be selected when local inflow data is not cumulative or the computation of incremental local inflows is not desired. There are no slots specifically associated with this method.
* Compute Full Run Incremental Local Inflows
The Compute Full Run Incremental Local Inflows method is available from the Compute Incremental Local Inflows on Subbasin category on the Control Point. This method is only available if the Input Local Inflows method is selected in the Local Inflow category. The method contains two slots: Cumulative Local Inflow and Incremental Local Inflow. These slots will be accessed by the computational subbasin when executing the Compute Full Run Incremental Local Inflows method. The computational subbasin will use the user input Cumulative Local Inflow value to calculate and set the Incremental Local Inflow slot. The Compute Full Run Incremental Local Inflows method on the control point then copies the results of the calculation in the Incremental Local Inflow slot values to the Local Inflow series slot.
Slots Specific to This Method
Cumulative Local Inflow
Type: SeriesSlot
Units: Flow
Description: The cumulative local inflow to the control point
Information: Local inflow is cumulative either (1) between headwater control points and the first reservoir in the river system and also throughout the system between two reservoirs, or (2) throughout the entire river system.
I/O: Required Input
Incremental Local Inflow
Type: SeriesSlot
Units: Flow
Description: The incremental local inflow to the control point
Information: This slot is set by the Calculate Incremental Flows method on the computational subbasin and represents the actual local inflow to the control point. At the end of each timestep, the Local Inflow slot will be identical to this slot.
I/O: Computed and set with the Input flag
* Compute Forecast Period Incremental Local Inflows
The Compute Forecast Period Incremental Local Inflows method is available from the Compute Incremental Local Inflows on Subbasin category on the Control Point only if the Forecast Local Inflows method is selected in the Local Inflow category and one of the forecasting methods (i.e. Geometric Recession or Exponential Recession) is selected in the Generate Forecast Inflows category. If this method is selected, but the control point is not part of a subbasin with the appropriate methods selected, an error will be issued. The method contains two slots: Cumulative Local Inflow and Forecasted Cumulative Local Inflow. These slots will be accessed by the computational subbasin when executing the Compute Forecast Period Incremental Local Inflows method. The computational subbasin will use the user input Cumulative Local Inflow value to forecast and set the Forecasted Cumulative Local Inflow slot.
Slots Specific to This Method
Cumulative Local Inflow
Type: SeriesSlot
Units: Flow
Description: The cumulative local inflow to the control point
Information: Local inflow is cumulative either (1) between headwater control points and the first reservoir in the river system and also throughout the system between two reservoirs, or (2) throughout the entire river system.
I/O: Required Input
Forecasted Cumulative Local Inflow
Type: SeriesSlot
Units: Flow
Description: The forecasted cumulative local inflow to the control point.
Information: This slot is set by the selected Generate Forecast Local Inflows method on the control point as called from the computational subbasin. It represents the cumulative local inflow to the control point forecasted throughout the forecast period. This slot is invisible but can be viewed in the Special Results details on the Model Run Analysis tool; see “Model Run Analysis—Special Results Details Dialog” in USACE‑SWD Modeling Techniques.
I/O: Output only
Include Locals in Outflow
* Locals Included in Outflow
This method is the default for this Category and does not make any changes to the operation of the model. Local inflows will be included in the outflow.
* Locals Not Included in Outflow
This method will prevent local inflows from being included in the Outflow slot. A new slot, Total Discharge, will be created that accounts for the actual flow at the control point including upstream inflows and local inflows. This method will set the Outflow slot equal to inflow.
Slots Specific to This Method
Total Discharge
Type: SeriesSlot
Units: Flow
Description: The actual flow at the control point including upstream inflows and local inflows. (Different than Outflow slot)
Information:  
I/O: Output only
Flood Control
Selection of a flood control method in this category makes accessible the appropriate options to have the control point participate in flood control operations as specified in the Flood Control category on the containing computational subbasin. The method names available on the control point for this category correspond to the method names under Flood Control on the computational subbasin so the user can easily select the appropriate control point method to correspond to the type of flood control picked for the containing subbasin.
Table 10.1 demonstrates what dependent method categories become available to the user upon selection of Flood Control methods on the control point.
 
Table 10.1  Dependent method categories for Flood Control methods
Method
Dependent Method Category
Input Slots
Output Slots
None
(none)
(none)
(none)
Operating Level Balancing
 
(none)
(none)
 
Regulation Discharge
(described below)
(described below)
Phase Balancing
 
(none)
(none)
 
Key Control Point Balancing
(described below)
(described below)
* None
This method is the default for the Flood Control category and means that no flood control options are selected for the control point. No slots are associated with this method.
* Operating Level Balancing
Selecting Operating Level Balancing means that options for the control point that are applicable to the Operating Level Balancing method of flood control are made visible. This includes the Regulation Discharge category, and depending on the selection there, associated dependent categories and method options as discussed in subsequent sections. No slots are associated with the Operating Level Balancing method selection. See “Flood Control” in USACE‑SWD Modeling Techniques for details on using this method for USACE-SWD.
* Phase Balancing
Selecting Phase Balancing means that options for the control point that are applicable to the Phase Balancing method of flood control are made visible. This includes the Key Control Point Balancing category and its method that is applicable to this type of flood control. Key Control Point Balancing is discussed in a subsequent section. No slots are associated with the Phase Balancing method selection.
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 solveOutflowGivenInflow 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, etc.) 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
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, etc.) 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
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, etc.) 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
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, etc.) 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
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.
Percent Full Determination
This category appears only when the Reservoir System Percent Full Regulation method is selected in the Regulation Discharge category. The selection here determines what type of water is included in the numerator for the percent full calculations performed in that regulation discharge method.
* Flood and Surcharge Water
Selecting this method means that flood pool and surcharge pool water will be included in the numerator of the reservoir system percent full calculations. Since the denominator in these calculations is only the capacity of the flood pools of all the reservoirs in the system, including surcharge water in the numerator means that the percent full for the system can be greater than 100%. This is the default method selection because this is the way that COE’s SUPER program performs this calculation. There are no slots specific to this method.
* Flood Water Only
Selecting this method means that flood pool water only is included in the numerator of the reservoir system percent full calculations. Since the denominator in these calculations is the flood pool capacity of all the reservoirs in the system, the maximum possible percent full is 100%. There are no slots specific to this method.
Stage Control Over Forecast
This category appears at the selection of any regulation discharge method in the Regulation Discharge category, so is related to the operating level balancing approach to flood control. The selection here determines how the stage control part of the regulation discharge calculation is applied over the forecast period.
* Stage Control Varies Over Forecast
This default method selection means that each forecast timestep during the execution of regulation discharge is compared to the Stage Control Intervals periodic slot under the regulation discharge method to check if the timestep falls into a specified time interval of stage control. If it does, regulation discharge for that forecast timestep is determined under the stage control portion of the regulation discharge algorithm. If it does not, regulation discharge is calculated without stage control being applied. This determination is made separately for each timestep in the forecast period. There are no slots specific to this method.
* Stage Control Fixed Over Forecast
This selection means that the current simulation timestep is checked against the Stage Control Intervals periodic slot under the regulation discharge method to determine if the timestep falls into a specified time interval of stage control. If it does, all timesteps in the forecast period are considered to be under stage control. If it does not, none of the timesteps in the forecast period are considered to be under stage control. This is the way that COE’s SUPER program handles this calculation. There are no slots specific to this method.
Sag Operation
This category appears at the selection of any regulation discharge method in the Regulation Discharge category, so is related to the operating level balancing approach to flood control. Once a flood hydrograph recedes to the normal regulating discharge, a sag operation can be used to reduce the regulating discharge for a few timesteps to allow time for local field drainage. A sag operation will continue for a prescribed number of timesteps during which the regulation discharge will be reduced to the sag discharge. After the sag operation has continued for the specified number of timesteps, operations resume at the normal regulating discharge.
* None
This default method means no sag operations are performed.
* Sag Operation
This method implements sag operations. A sag operation is explicitly turned on and continues until it is explicitly turned off, although the regulation discharge is only reset to the reduced sag value for a first number of timesteps equal to the sag period. Sag operations are tracked in the Sag Operation series slot where an incremented number appears in each timestep that is part of a sag operation. Timesteps not in sag operation are assigned zero.
Slots Specific to This Method
Sag Period
Type: TableSlot
Units: NONE, FLOW
Description: Number of timesteps that the hydrograph should sag below regulation discharge to allow for local field drainage, and the temporary discharge to be used for the sag period.
Information:  
I/O: Required input
Sag Operation
Type: SeriesSlot
Units: NONE
Description: Contains an incremented number for each timestep that is part of a sag operation, allowing tracking of sag operations across simulation timesteps. Timesteps not in sag operation contain a zero.
Information: Other than an initial value to indicate the status of sag operations at the beginning of the run, this slot is output only.
I/O: Output with initial input
Sag Tolerance
Type: ScalarSlot
Units: DECIMAL
Description: When a Sag Operation is ongoing, this is the proportional amount by which the total inflow for the current timestep must be greater than the calculated regulation discharge for current forecast timestep in order for the Sag Operations to be turned off.
Information: The default value of 0.03 is from the 3% value coded into the COE’s Super program code.
I/O: Required input
The Sag Operation method does the following:
1. Check for an ongoing sag operation. There is an ongoing sag operation if the previous simulation timestep had a nonzero number written to the Sag Operation slot.
2. If there is an ongoing sag operation, test to see if it needs to be turned off. If the total inflow for the current simulation timestep is 1 plus the value in the Sag Tolerance Slot (default is 0.03) times greater than the calculated regulation discharge for the current simulation timestep, turn off sag operations and assign zeros to the Sag Operation slot for all timesteps in the forecast period. Regulation discharges for the forecast period will remain unchanged due to sag operations.
3. If sag operations are ongoing and are not turned off, continue incrementing the numbers in the Sag Operations slot for all timesteps in the forecast period. Any timesteps in the forecast period that have an incremented number less than or equal to the sag period defined in the Sag Period slot should have their regulation discharges set to the temporary sag discharge value also entered in the Sag Period slot.
4. If there is no ongoing sag operation, check to see if one needs to be turned on. A sag period is turned on if the forecast inflow for every timestep in the forecast period is less than that timestep’s regulation discharge, and if the previous simulation timestep’s total flow is greater than the current simulation timestep’s regulation discharge.
5. If a sag operation is turned on, assign the number 1 to the Sag Operation slot for the current simulation timestep and assign incremented numbers to all other timesteps in the forecast period. Any timesteps in the forecast period that have an incremented number less than or equal to the sag period defined in the Sag Period slot should have their regulation discharges set to the temporary sag discharge value also entered in the Sag Period slot.
Regulation Recession
This category appears at the selection of any regulation discharge method in the Regulation Discharge category, so is related to the operating level balancing approach to flood control. It allows the user to limit by how much the regulation discharge recesses from one timestep to the next.
* None
This default method for the category means no regulation recession is applied.
* Regulation Recession
This method limits the recession in regulation discharge to the amount specified in the Regulation Recession slot.
Slots Specific to This Method
Regulation Recession
Type: PeriodicSlot
Units: FLOW
Description: Schedule of the maximum amount by which the regulation discharge can be receded for a timestep, with different rows representing recessions at different time points in the schedule, and different columns representing recessions at different discharges. Legitimate recession values can be limited to only a certain range of discharges.
Information: This is a n x n periodic slot where the user specifies the period over which the schedule repeats (1 Day, 1 Year, etc.) and the table has the capability to generate a recession value for any date and discharge value from the schedule.
I/O: Required input
The Regulation Recession method steps through the timesteps in the forecast period and performs the following actions.
1. The current forecast timestep and the current regulation discharge value are looked up in the Regulation Recession table to see if a legitimate regulation recession value applies. If not, regulation discharge for the current timestep is unchanged and subsequent steps are skipped.
2. The previous forecast timestep’s regulation discharge is compared to the upper bound of the discharge range where recession applies (on the first forecast timestep, use the previous simulation timestep’s regulation discharge). If it was greater than the upper bound of the range, the current timestep’s regulation discharge is reset to this upper bound value.
3. If the previous forecast timestep’s regulation discharge was within the discharge range where recession applies, the regulation recession value is subtracted from the previous forecast timestep’s regulation discharge to get a recessed discharge.
4. If the current regulation discharge is more than the recessed discharge, it is unchanged.
5. If the current regulation discharge is less than the recessed discharge, the current regulation discharge is reset to the recessed discharge value.
Key Control Point Balancing
This method category can be applicable to both operating level balancing and phase balancing approaches for determining flood control releases. The category appears at the selection of the Phase Balancing method under the Flood Control category of the control point, or at the selection of any regulation discharge method under the Regulation Discharge category that appears under the Operating Level Balancing method for the Flood Control category on the control point.
Selection of a method in this category makes a control point a key control point and causes the key icon to appear on the control point in the GUI to identify it as key. Key control point balancing allows for the balancing of storage in associated upstream reservoirs with respect to the control point. Calculations for the key control point balancing methods are actually initiated from a flood control method selected on a computational subbasin that includes the control point.
* Operating Level Balancing
This method is only available if one of the regulation discharge methods is selected under the Regulation Discharge category that appears under the Operating Level Balancing method for the Flood Control category on the control point. The method uses the empty space available in the channel at the control point that is calculated by the regulation discharge method to balance the levels of associated reservoirs over a specified balance period. The empty space is specifically allocated to the reservoirs over the control point’s forecast period. The method populates results into the Balance Level and Share slots on the control point and the Target Balance Level slot on each associated reservoir.
This method also computes a maximum flood control release for each reservoir under its control and stores the result in the reservoir’s slot Max Flood Control Release. This value is used by the Operating Level Balancing flood control algorithm (see Computational Subbasin). The value is a flow, computed as
M = (RSTG /TTLEV) * MEORD
where
– RSTG is the reservoir’s forecast storage at the end of the balance period above the target level, limited by the outflow control points regulation discharge,
– TTLEV is the total empty space volume at this control point at the end of the balance period, and
– MEORD is the maximum empty space hydrograph ordinate at this control point (over the forecast period), a flow.
Note:  Another way to think about this is that there are two ratios that are equal. The first is the maximum release over the total volume above the balance level. The second is the maximum empty space ordinate over the total empty space volume.
Slots Specific to This Method
Key Control Point Reservoirs
Type: ListSlot
Units: NONE
Description: List of upstream reservoirs associated with this control point for balancing.
Information: Each reservoir in this list gets an associated column in the Share slot.
I/O: Required input
Balance Period
Type: ScalarSlot
Units: NONE
Description: Single number representing the number of timesteps in the balance period.
Information: The balance period is the number of timesteps including the current simulation timestep that is used in the algorithm for balancing the reservoirs associated with a key control point. This value can be propagated from a computational subbasin of which the control point is a member.
I/O: Required input
Balance Tolerance
Type: ScalarSlot
Units: VOLUME
Description: In the iterative calculation for determining the balance level, balance tolerance allows the user to specify how close the storage above the balance level in the reservoirs at the end of the balance period must be compared to the empty space available in the channel over the balance period. Balance tolerance is expressed as a difference between these volumes.
Information: The algorithm to find a balance level where storage equals empty space will iterate until the balance tolerance is reached or until the number of balance iterations is reached. These parameters allows the user to control and limit the number of iterations of the algorithm.
I/O: Required input
Balance Iterations
Type: ScalarSlot
Units: NONE
Description: This parameter is how many times the balance level algorithm is allowed to iterate in determining a balance level where storage in the reservoirs above this level at the end of the balance period equals the empty space available in the channel over the balance period.
Information: The algorithm to find a balance level where storage equals empty space will iterate until the number of balance iterations is reached or until the balance tolerance is reached. These parameters allow the user to control and limit the number of iterations of the algorithm.
I/O: Required input
Balance Level
Type: SeriesSlot
Units: NONE
Description: Contains the result of the balance level determination for the key control point.
Information: The balance level calculated for the key control point is written to this Series Slot for each simulation timestep. This slot is invisible but can be viewed in the Special Results details on the Model Run Analysis tool; see “Model Run Analysis—Special Results Details Dialog” in USACE‑SWD Modeling Techniques.
I/O: Output
Share
Type: AggSeriesSlot
Units: Decimal
Description: Contains the results of allocating the empty space at the key control point to its associated reservoirs. Values are a proportional allocation and will add up to 1 for each timestep.
Information: Each column is a SeriesSlot and represents the allocated space for one of the reservoirs from the Key Control Point Reservoirs list. Space is allocated for the current simulation timestep through the forecast period. When the next timestep executes, the future forecast timestep values are overwritten by the new simulation and forecast values. This slot is invisible but can be viewed in the Special Results details on the Model Run Analysis tool; see “Model Run Analysis—Special Results Details Dialog” in USACE‑SWD Modeling Techniques.
I/O: Output
The Operating Level Balancing method for the control point executes the following steps.
1. Total the volume of empty space over the balance period at the control point.
2. Find the total storage above conservation level summed for all associated reservoirs at the end of the balance period. Volume contributed by a reservoir is limited to the regulation discharge of its downstream gage control point at the current simulation timestep multiplied by the number of timesteps in the balance period.
3. If there is no storage, or some storage, but not enough to fill the total empty space, set the balance level to the conservation pool level.
4. Otherwise, determine the balance level at the end of the balance period where the total storage above that level equals the total empty space. The volume contributed by a reservoir is limited to the regulation discharge of its downstream gage control point at the current simulation timestep multiplied by the number of timesteps in the balance period. The bisection algorithm to determine balance level iterates until the Balance Tolerance for comparing storage to empty space is reached or until the Balance Iterations limit is reached.
5. Assign the key control point’s balance level to the associated reservoirs. If a reservoir is associated with more than one key control point, the highest balance level of the associated control points is used.
6. Allocate the empty space at the control point to the reservoirs for each timestep in the forecast period. A reservoir’s share for any forecast timestep is its volume above the balance level at the end of the balance period, provided at least part of a release from that reservoir on the current simulation timestep would reach the key control point by that forecast timestep, divided by the total volume above the balance level at the end of the balance period for all reservoirs whose releases would reach the key control point by that forecast timestep. Again the volume contributed by a reservoir is limited to the regulation discharge of its downstream gage control point for the current simulation timestep multiplied by the number of timesteps in the balance period.
* Phase Balancing
This method is only available at the selection of the Phase Balancing method under the Flood Control category of the control point. It instantiates the phase space hydrograph of the control point’s channel used by the Phase Balancing method on the Computation Subbasin. The phase space hydrograph is used to allocate space to the reservoirs in a given phase over the control point’s forecast period and a maximum flood control release value is calculated for each associated reservoir. (See Phase Balancing discussion in the Computational Object for a complete description).
Slots Specific to This Method
Phase Space Hydrograph
Type: TableSlot
Units: NONE, FLOW
Description: Contains flow capacity limits of each phase for this control point.
I/O: Required Input
Phase Space Tolerance
Type: AggSeriesSlot
Units: FLOW
Description: Contains a series of tolerance values for defining each phase level of the control point.
Information: Each column (SeriesSlot) represents tolerance values for each phase level of the control point. The tolerance value is added to the phase space hydrograph to calculate the flow capacity limits of each phase for this control point.
I/O: Input
Number Of Phases
Type: ScalarSlot
Units: NONE
Description: The number of phases associated with the all the phase space hydrograph.
Information: Value must agree with slot of same name on the computational subbasin.
I/O: Input
Flooding Exception
This category appears at the selection of any regulation discharge method in the Regulation Discharge category, so is related to the operating level balancing approach to flood control. This category allows the user to specify reservoirs that are permitted to cause flooding at a control point.
* None
This default method for the category means no flooding exception is specified.
* Flooding Exception
This method associates with the control point a set of excepted reservoirs and an excepted flood release from each of those reservoirs. During execution of the Operating Level Balancing flood control method of the Flood Control category for a computational subbasin, the slots listed below are used in calculating a modified flood control release under the flooding exception part of the algorithm.
Slots Specific to This Method
Excepted Reservoirs
Type: ListSlot
Units: NONE
Description: Contains a list of upstream reservoirs that are allowed to cause flooding at the control point.
Information: Each reservoir in this list automatically has a corresponding column created in the Excepted Flood Releases slot.
I/O: Required input
Excepted Flood Releases
Type: TableSlot
Units: FLOW
Description: Contains the excepted flood release values associated with the reservoirs in the Excepted Reservoirs slot.
Information: This is a 1 x n table slot where a column is created to match each reservoir in the Excepted Reservoirs slot. The one flow value entered for each reservoir represents its excepted amount of flood release for the control point. (This represents the amount of water that may be released in one timestep from the reservoir, not the amount that will arrive at the control point after routing.)
I/O: Required input
Hydropower Flooding Exception
This category appears at the selection of any regulation discharge method in the Regulation Discharge category, so is related to the operating level balancing approach to flood control. This category allows the user to specify that upstream reservoirs are permitted to cause flooding with hydropower releases at this control point.
* None
This default method for the category means no hydropower flooding exception is specified.
* Releases Not Constrained by Flooding
This method specifies that flooding at the given control point will not constrain hydropower releases. This method is checked within execution of the HydropowerRelease predefined function (see “HydropowerRelease” in RiverWare Policy Language (RPL)). If this method is selected, the computational subbasin will skip this control point when it is checking for additional downstream flooding at control points.
Low Flow Requirement
The Low Flow Requirement category is used to configure the Control Point to have a required low flow rate. In addition to computing the low flow requirement, these methods add slots that can be referenced by RPL logic (the MeetLowFlowRequirement function) to determine the reservoir releases required to meet the low flow rates.
* None
This is the default method. There are no slots or calculations associated with it.
* Low Flow Periodic Lookup
This method is used to specify the low flow requirement as a function of date/season using a periodic slot.
Slots Specific to This Method
Low Flow Requirement
Type: Periodic Slot
Units: flow
Description: The low flow requirement as a function of date/season
Information: The low flow requirement is computed at the beginning of each timestep using the current date to look up the value from this slot.
I/O: Required input
Computed Low Flow Requirement
Type: Series Slot
Units: flow
Description: The computed low flow requirement
Information: This slot is computed given the current date and the Low Flow Requirement slot.
I/O: Output only
Low Flow Deficiency
Type: Series Slot
Units: flow
Description: The portion of the low flow requirement that has not been met.
I/O: Output only
Low Flow Reservoirs
Type: List Slot
Units: none
Description: A list of the reservoirs that are used to meet the low flow requirement
Information: These reservoirs must all be upstream of the control point.
I/O: Required input
The Low Flow Periodic Lookup method executes at the beginning of the run. Each timestep in the run is used to look up a value in the Low Flow Requirement slot. The resulting value will be set in the Computed Low Flow Requirement slot. The Low Flow Deficiency slot is computed each time the object dispatches. It is computed as the low flow requirement minus the total control point flow. The Low Flow Reservoirs slot is used by a RPL function (MeetLowFlowRequirement) to determine the reservoir releases necessary to meet the low flow requirement.
* Reservoir Level Lookup
The Reservoir Level Lookup method is used to compute the low flow requirement as a function of the date/season and the operating level of a specified reservoir.
Slots Specific to This Method
Level vs Low Flow Requirement
Type: Periodic Slot
Units: flow
Description: The low flow requirement as a function of reservoir level and date/season
Information: Each column corresponds to a reservoir’s operating level. For each operating level, the requirements are specified for each date range in the periodic slot.
I/O: Required input
Low Flow Requirement Reservoir
Type: List Slot
Units: none
Description: The reservoir used to compute the low flow requirement
Information: The previous timestep operating level of this reservoir is used to look up the low flow requirement in the Level vs Low Flow Requirement slot.
I/O: Required input
Computed Low Flow Requirement
Type: Series Slot
Units: flow
Description: The computed low flow requirement
Information: This slot is computed from the Level vs Low Flow Requirement slot.
I/O: Output only
Low Flow Deficiency
Type: Series Slot
Units: flow
Description: The portion of the low flow requirement that has not been met.
I/O: Output only
Low Flow Reservoirs
Type: List Slot
Units: none
Description: A list of the reservoirs that are used to meet the low flow requirement
Information: These reservoirs must all be upstream of the control point.
I/O: Required input
Forecast Period
Type: TableSlot
Units: NONE
Description: The forecast period is a number of timesteps, including the current simulation timestep, that is used in the algorithms for calculating forecasted hydrology, regulation discharge and flood releases. This can be propagated from a computational subbasin of which the control point is a member.
Information:  
I/O: Required input
Note:  If the specified reservoir is disabled and is set to Pass Inflows, no low flow requirement can be computed. See “Low-flow Requirements Based on Disabled Reservoirs” in USACE‑SWD Modeling Techniques for details.
The Reservoir Level Lookup method will execute on the Control Point object at the beginning of each timestep. For each timestep (t) in the forecast period, the Low Flow Requirement Reservoir’s previous timestep’s (current timestep‑1) operating level and the forecast timestep’s date (t) will be used to lookup a value in the Level vs Low Flow Requirement slot. The resulting value will be set in the Computed Low Flow Requirement slot. This is an estimated requirement that is used through the forecast period. It is reset at the beginning of the next timestep. Whenever the Control Point object dispatches, it will compute the Low Flow Deficiency based on the flow through the control point. The Low Flow Reservoirs slot will be used by the RPL pre-defined function to determine the low flow releases. The RPL function will order the reservoirs specified in the Low Flow Reservoirs slot in descending order beginning with the most full (highest level) reservoir. Each reservoir makes a release until the requirement is met or the reservoir reaches its maximum low flow delivery rate.
Instream Flow Reference Level
This category is used in conjunction with water accounting, specifically for water rights allocation, to establish a reference level from which an instream flow account on this object can base its water allocation requests.
The selected method is executed at the beginning of each timestep.
* None
This default method for the category means no reference level is to be computed.
* Reservoir Storages Lookup
This method executes one timestep each year identified by the Start of Reference Year slot. At that timestep, this method sums the storages at the previous timestep from each of the Reference Reservoirs. This storage is then looked up in the Reference Level Storage Table to determine the Reference Level. The Reference Level is used by the instream flow accounts on the object to determine the account’s Initial Request.
Slots Specific to This Method
Reference Reservoirs
Type: ListSlot
Units: NONE
Description: Contains a list of reservoirs whose storages (at the previous timestep) will be summed.
Information: This slot is used by instream flow accounts on the object for water rights allocation. Its value is an input to the calculation of Initial Requests for allocation of water.
I/O: Required input
Reference Level Storage Table
Type: TableSlot
Units: VOLUME vs NONE
Description: Maps volumes (sum of storages) to a reference level. Contains two columns, Sum of Storages and Reference Level. The user may add any number of rows, but at least one row must be present and populated.
Information: The sum of storages is looked up in the first column and the corresponding value in the second column is put into the Reference Level slot. No interpolation is done. If the sum falls between two values in the first column, the row chosen is the row with the largest first-column value that is less than the sum.
I/O: Required input
Reference Level
Type: Series Slot with optional 1 Year timestep
Units: NONE
Description: The resulting reference level is placed here. This slot can be set to an 1 Year timestep slot; its value is computed once per annum, on the timestep identified by the Start of Reference Year slot. Because 1 Year timestep slots in RiverWare are given the December 31 date, the date of the timesteps will not match the Start of Reference Year (unless you set the start of the year to December 31!). If it is not a 1 Year timestep slot and the slot’s timestep matches the run’s timestep, the value is computed each timestep in the run.
Information: This slot is used by the instream flow accounts on this object. The value in this slot is used by a method that calculates the account’s Initial Request slot. On timesteps before the Start of Reference Year, the account method uses the previous year’s Reference Level, so you must populate this slot with an initial value if the Start of Reference Year does not coincide with the first timestep of the run.
I/O: Output
Start of Reference Year
Type: TableSlot
Units: None, None
Description: Identifies month and day of timestep that is the start of the reference year; the timestep on which a new Reference Level will be computed.
Information: Contains two columns, “Month” and “Day”. Only the first row is used. See the information for the Reference Level slot, above for more information.
Note:  The reference year cannot start on February in a model with a 1 Month timestep.
I/O: Required input
Variable Routing Coefficients
This category allows the user to specify that a given control point should be part of the alternative routing coefficients computation. This category is dependent on the Operating Level Balancing in the Flood Control category.
* None
This is the default method. The existing Routing Coefficients slot is used for all routing.
* Compute Aggregate Coefficients
The Compute Aggregate Coefficients method recalculates the routing coefficients for each upstream reservoir (where necessary) using intervening Reach routing. This allows the Flood Control algorithm to make use of the alternative routing coefficients that are to be used at higher flow rates. The bulk of this calculation is performed by the computational subbasin. See “Compute Aggregate Coefficients” for details in the Computation Subbasin’s Compute Aggregate Coefficients documentation,
For this method, you must also specify the standard coefficients on the Routing Coefficients slot.
Slots Specific to This Method
Computed Routing Coefficients
Type: TableSlot
Units: No Units
Description: This is a temporary table slot (i.e. it is not saved with the model file) used to store the routing coefficients used on the current timestep. Values in the table are populated at the beginning of each timestep, as necessary, based on the flows from the upstream reservoir to the Control Point. This is described further on the Computation Subbasin’s Compute Aggregate Coefficients method.
Information: There is a column for each reservoir in the upstream reservoir list. At beginning of run, the structure of this table is copied from the Routing Coefficients slot. Only coefficients in the forecast period are used, so any values past the end of the forecast period are zero. Therefore, the columns do not necessarily sum to 1.0.
I/O: Output only and read-only.
This method builds the Computed Routing Coefficients slot which is used by the computational subbasin to store the computed alternative coefficients at the beginning of the timestep. During the FloodControl function execution, if the control point has this method selected, the routing coefficients in the Computed Routing Coefficients slot will be used for all computations.
* Compute Aggregate Coeffs every Timestep
The Compute Aggregate Coefficients every Timestep method recalculates the routing coefficients for each upstream reservoir at the start of every timestep using intervening Reach routing. This allows the Flood Control algorithm to make use of the alternative routing coefficients that are to be used at higher flow rates. The bulk of this calculation is performed by the computational subbasin. See “Compute Aggregate Coefficients” for details in the Computation Subbasin’s Compute Aggregate Coefficients documentation.
For this method, there is no need to specify the standard coefficients on the Routing Coefficients slot. The slot will always exist, but all values can be NaN.
Slots Specific to This Method
Computed Routing Coefficients
Type: TableSlot
Units: No Units
Description: This is a temporary table slot (i.e. it is not saved with the model file) used to store the routing coefficients used on the current timestep. Values in the table are populated at the beginning of each timestep based on the flows from the upstream reservoir to the Control Point. This is described further on the Computation Subbasin’s Compute Aggregate Coefficients method.
Information: There is a column for each reservoir in the upstream reservoir list. At beginning of run, the structure of this table is copied from the Routing Coefficients slot. Only coefficients in the forecast period are used, so any values past the end of the forecast period are zero. Therefore, the columns do not necessarily sum to 1.0.
I/O: Output only and read-only.
This method builds the Computed Routing Coefficients slot which is used by the computational subbasin to store the computed alternative coefficients at the beginning of the timestep. During the FloodControl function execution, if the control point has this method selected, the routing coefficients in the Computed Routing Coefficients slot will be used for all computations.
Dispatch Methods
This object has the following dispatch method:
* solveOutflowGivenInflow
The required knowns and unknowns (at the current timestep) are listed below.
Required Knowns
• Inflow
Required Unknowns
• Outflow
The dispatch method solves for the outflow from the Control Point using known values for Inflow and Local Inflow; however, a Local Inflow value is not required for the object to dispatch. If there is no Local Inflow, the Outflow is simply equal to the Inflow. If there is a Local Inflow value, the Outflow is the sum of the Inflow and Local Inflow.
It is also possible that the method Locals Not Included in Outflow is turned on. In this case a new slot, Total Discharge, is available and is the sum of the Inflow and the Local Inflow.
With this method turned on the Local Inflow is not included in the Outflow and therefore Outflow is again simply equal to the Inflow.
Note:  Flow is not routed through the Control Point. That is, the Routing Coefficients slot values are not used in the solution of Control Point Outflow. They are strictly used in flood control and other basin wide operations; see “Flood Control” for details.
If the regulation discharge (G) flag is set for the timestep on the Reg Discharge Calculation slot, the dispatch method recognizes this and executes the selected regulation discharge method and any dependent methods for the control point. This flag can only be set by a rule. After execution, the regulation discharge flag is removed so that regulation discharge will not redispatch unless this flag is reset by a rule. Each time regulation discharge is executed for a timestep, the value in the Reg Discharge Calculation slot is incremented so that it records the number of times that regulation discharge has been executed for the timestep. A rule (R) flag will typically remain in this slot after execution to show that its value was set as a result of a rule.
After executing regulation discharge, the dispatch method checks to see if outflow has changed from its previous value. If it has not, the outflow slot is not reset using the regulation discharge rule priority. This prevents the regulation discharge rule priority from propagating downstream and triggering unnecessary and, in some cases, undesirable resolving.
 
Revised: 06/03/2019