Regulation Discharge
The regulation discharge operation calculates the regulation discharge, meaning the maximum flow that is allowed in the channel at the control point, for each timestep in the specified forecast period. It also computes the empty space at the control point. Calculation of these values are fundamental to the Operating Level Balancing procedure for determining flood control releases. Thus, in effect, the regulation discharge operations are looking at the state of they system after the surcharge release to determine the available space at each control point for the flood control operation.
Model Setup—Control Point Methods
A regulation discharge method must be selected on each Control Point that will be involved in the Flood Control. See
Regulation Discharge in Objects and Methods for method descriptions. Each method describes the slots that are instantiated and the logic that it uses to compute the Regulation Discharge and Empty Space.
Note: The desired Flood Control method must be selected before the Regulation Discharge category becomes available.
Depending on the Regulation Discharge method selected, additional categories may be available. Each category has methods that modify how the Regulation Discharge is performed. The possible categories are as follows:
RPL Implementation
The regulation discharge calculations are performed on the control point objects after the surcharge release forecasts have been computed and routed downstream. In order to ensure that the surcharge release calculations have finished, the rule to trigger the regulation discharge calculations must execute after all the surcharge release rules. This means it must be a higher priority rule. Add a policy group for regulation discharge in the main Ruleset Editor dialog and add a single rule to this policy group. Make sure that this policy group sits above the surcharge release policy group thereby making the regulation discharge rule a higher priority rule.
A single rule can be used to trigger the regulation discharge calculations on all control point objects. The rule should consist of a FOR loop that will loop through every control point in the flood control subbasin and set the regulation discharge flag on the Reg Discharge Calculation slot. When this flag is set it will trigger the control point to solve for regulation discharge and empty space.
Figure 3.4 shows a sample rule.
This rule consists of a single FOR statement. The ControlPt variable is a temporary loop variable whose expression data type is OBJECT. The FOR statement will loop through every object in the list on the right hand side of the IN expression and the ControlPt variable will become each object in that list. The right hand side of the IN statement is a predefined function named ListSubbasin that takes a subbasin as an argument and returns a LIST that contains each object in the subbasin.
In this example, the subbasin used in the ListSubbasin function is called “CP” and is a user-defined subbasin. The rule could have used the “ControlPoint” automatic subbasin. This subbasin can be viewed in the Automatic Subbasins view of the Subbasin Manager dialog. If every control point in your model is used in flood control, then your rule can look just like the example rule. If however the user is only using a subset of control points for the flood control calculations, a new subbasin must be created that contains the subset of control points. The rule should then refer to the new subbasin in the ListSubbasin predefined function. In summary, the example rule will loop through every control point in the specified subbasin and set the Reg Discharge Calculation slot on each object (at the current timestep) with the regulation discharge flag. This will trigger each control point to perform its regulation discharge calculations and compute the empty space for the forecast period. Then the model is ready to compute the flood control releases.
Figure 3.4 Sample regulation discharge rule