Model Components
Implementation of the USACE‑SWD functionality makes use of many of the RiverWare modeling features. Following is a description of the various pieces.
1. Methods on objects
On reservoirs, there are user selectable methods to specify how to calculate the incremental flows, forecast hydrology, surcharge release (mandatory releases), flood control, low-flow releases, reservoir diversions, and hydropower method.
Control Point objects are used in the basin network to represent channel control points that influence flood control and other releases. User selectable methods on Control Point objects support the calculation of forecasted inflows (uncontrolled area flows), regulation discharge, and empty space hydrographs. The user selectable Key Control Point Balancing method allows for the computation of a balance level for associated reservoirs.
The reach, water user, and diversion object also have user selectable methods that are used as part of the USACE‑SWD functionality.
2. Computational Subbasin
The RiverWare computational subbasin has object attributes including user selectable method categories, methods, and data slots to support calculations that involve multiple simulation objects simultaneously. The flood control category includes two methods that govern the nature of the flood control solution. The Operating Level Balancing method is used to model flood control based on the USACE‑SWD algorithms. The Phase Balancing method is based on the USACE-KC flood control operations. This document deals with the Operating Level Balancing calculations. The Phase Balancing method will not be discussed in this document. In addition to the flood control category, several related categories and methods are available to adjust/modify some of the details of the flood control algorithm.
Additionally, there are user selectable methods to initialize objects within the subbasin, compute incremental flows, computer reservoir diversions, compute low-flow releases, and compute alternative routing coefficients within the subbasin.
3. Surcharge Release and Regulation Discharge Flags
The surcharge release and regulation discharge flags are used to trigger the surcharge release and regulation discharge calculations on reservoirs and control points, respectively. Rules are used to set the surcharge release flag on the outflow slot of each reservoir. When this flag is set, it triggers the reservoir to dispatch and compute a surcharge release forecast. The regulation discharge flag is set on all control points simultaneously by a single rule. This flag triggers each control point to solve for its regulation discharge and empty space hydrographs according to the user methods selected on each control point object.
4. Rule functions to implement the policy
Rules execute predefined rule functions that implement the policy. For example, a predefined rule function called FloodControl invokes the computational subbasin method and returns the solution by way of a list of object.slot and value pairs to be set by the rule. The FloodControl function executes the currently selected method in the Flood Control category on the computational subbasin object. The method is executed on the subbasin named in an argument passed to the FloodControl rule function.
Additionally, the following predefined functions execute the policy listed:
– MeetLowFlowRequirement. Computes reservoir release to meet a demand at a control point
– ComputeReservoirDiversions. Computes the diversion from each reservoir to meet water user demands.
– HydropowerRelease. Computes the additional release required to meet the specified load without causing additional downstream flooding.