Simulation Objects
The following enhancements to the RiverWare simulation objects are described briefly. The user is encouraged to consult the Simulation Objects Documentation in the online help for more detailed descriptions of the enhancements to the objects and their methods.
Groundwater Storage Object
Current Storage Linear Flow
The Current Storage Linear Flow method calculates Outflow as a linear function of the Average Storage at the current timestep. This is similar to the previously existing Linear Flow method, except that outflow is based on the average storage over the current timestep as opposed to the instantaneous, beginning of timestep storage. Therefore, this method avoids the artificial one timestep lag caused by the Linear Flow method.
Lagged Linear Flow
The Lagged Linear Flow method calculates Outflow as a linear function of a previous (specified by a lag time), instantaneous storage value. This method is identical to the Linear Flow method except that the user controls which previous storage is used to calculate the current outflow. A user input lag time that represents an integer number of timesteps is used to specify the lag between storage and outflow.
Impulse Response Outflow
The Impulse Response method computes Outflow using a set of impulse response coefficients. The current outflow is a result of several previous inflows multiplied by their corresponding coefficients (where the number of previous inflows used is equal to the number of coefficients specified). This is analagous to the impulse response methods on the Reach and Water User objects.
Impulse Response Components
A new method category, Impulse Response Components, is available whenever the Impulse Response Outflow method is selected in the GW Outflow Calc category. The Multiple Response Components method in this category allows the user to track multiple responses to the inflow impulse. If using this method, and linking the response components, then the Outflow slot should not be linked to any object. This would be “creating” water because the response components are a subset of the total outflow. Likewise, it the Outflow slot is linked, then the response components should not be linked to any object that is not a data object.
Inflow from Groundwater Slot
A new slot called Inflow from Groundwater was added to the groundwater object. This slot is used to account for inflows to the groundwater object that may come from other linked groundwater objects. Water coming in through the Inflow from Groundwater slot will be included in the mass balance, but will not be considered when determining the Outflow using either the Impulse Response Outflow method or the Current Storage Linear Flow method.
Water User
Input Diversion Requests
Input Diversion Requests is a new method in the Diversion and Depletion Requests category. When Diversion Requested is input, Depletion Requested is calculated as the Diversion Requested multiplied by the Minimum Efficiency.
Input Depletion Requests
When this method is selected, and Depletion Requested is input by the user, Diversion Requested is computed as the Depletion Requested divided by the Minimum Efficiency. If the computed value is larger than the Max Flow Capacity, then Diversion Requested is reset to the Max Flow Capacity.
Pump Back Return Flows
Pump Back Return Flows is a method in the Return Flow Calc category on Water Users. This method is only available if the Impulse Response method is selected in the Return Flow Routing category. Return Flow is calculated as a function of diversion, consumptive use requirement, irrigated area, and incidental depletions. If there are pumped back flows, this water is added into the return flow and removed from the routed return flow. This is meant to model a physical system where return flows are pumped from a routed location, reapplied to an irrigated area, and then allowed to return again (after a specified depletion).
Reach Object
Time Lag Downstream Only Dispatch Method
A new dispatch method was added to the Reach object that forces the reach to always solve in a downstream direction when using time lag routing. This method is active only when the Local Inflow Downstream Only method is selected in the Local Inflow Solution Direction category. Previously, when time lag routing was selected, the reach would solve in either direction depending on whether or not it had an inflow or outflow value. This often resulted in unnecessary resolving. If users have models that use the time lag routing method, and the reaches are always solving in the downstream direction, it is recommended that they take advantage of this new dispatch method.
Leakage Slot Added
A new slot, Leakage, was added to the Seepage and Riparian CU Loss method. This method exists in the Seepage Calc category and is available only when No Routing is the routing method and Local Inflow Downstream Only is selected in the Local Inflow Solution Direction category. If Leakage is input or set by a rule, it is used in the seepage calculations. Otherwise, Leakage is calculated by the method as it was prior to this release.
Reservoir Objects
Surcharge Release Calculation Category
A new method category, called Surcharge Release Calculation, was added to the Storage Reservoir and Level Power Reservoir. The methods in this category are used to model the Kansas City and Southwest Division Army Corps of Engineers’ algorithms for mandatory (surcharge) releases. If the reservoir’s pool elevation exceeds the top of the flood pool, then the reservoir is in surcharge operations and must make releases to bring the reservoir back down to the flood pool. The computed surcharge releases are stored in the Surcharge Release slot and are included in the reservoir’s outflow. These methods are still in the testing phase and should not be used by anyone except the Army Corps of Engineers. However, these methods were designed to be generic so in the future they can be used by anyone who needs to model surcharge releases.
Surcharge Release Flag
A Surcharge Release flag was added to the list of special flags that can bet set on a series slot. This flag can only be set on the Surcharge Release slot. When set, it will act as a known value (even though it will not really have a value before dispatching - this is similar to the Maximum Capacity flag) allowing the reservoir to dispatch with the solveMB_givenInflowSurchargeRelease dispatch method. The flag can either be set through the open slot dialog or by a rule (see the Rulebased Simulation section below for more information about setting flags with rules).
Control Point Object
A new object was added to the RiverWare Object Palette called the Control Point object. This object is used for the Flood Control methods that will be added to the new Computational Subbasin. These flood control methods have yet to be added to RiverWare. For now, the Control Point computes Outflow as the sum of Inflow and Local Inflow whenever Inflow is known.
Forecast Hydrology Methods
Several new methods were added to the Reach, Reservoir, and Control Point objects to compute inflow forecasts. These methods assume a period of perfect knowledge where the hydrologic/local inflows are equal to a known inflow value. After the period of perfect knowledge, the inflow values for the remaining timesteps in the forecast period are computed (based on the method selected). All of these method execute at the beginning of each controller timestep. That way, for each timestep there is an inflow forecast that extends out into the future. As the controller timesteps move forward, the forecast is always being updated.
Forecast Hydrology on Reservoir Objects
In order to enable the forecasting methods on reservoir objects, the Forecast Hydrologic Inflow method must be selected in the hydrologicInflowCalculationCategory. This causes the instantiation of a new method category called Generate Forecast Hydrology. There are four methods available in this category: No Forecast (this is the default method which does nothing), Geometric Recession, Exponential Recession, and Coefficient and Exponent Forecast Inflow. All of these methods are based on a period of perfect knowledge followed by a period of forecasting. The Geometric Recession method computes the forecasted flow as a fraction of the previous forecasted flow value. The Exponential Recession method computes the forecasted flow based on the first order, exponential decay equation. The Coefficient and Exponent Forecast Inflow method assumes a one timestep period of perfect knowledge. The remaining timesteps in the forecast period are computed using the current and previous known inflow values using the following formula (starting at i = 1):
where KIi is the Known Inflow at timestep i, LIi is the Local Inflow at timestep i, C is a coefficient and E is an exponent. The counter i represents the timestep beyond the current timestep. So, i = 1 is the current timestep + 1, i = 2 is the current timestep + 2, etc. The coefficient, C, and exponent, E, are the values in the Forecast Inflow Parameters slot.
Forecast Hydrology on Reach
On Reach objects, users can select the forecast hydrology methods through the Generate Local Inflows category. This category is only available when either Input Local Inflow or Local Inflow Downstream Only is selected in the Local Inflow Solution Direction category. There are four methods available in the Generated Local Inflows category: No Forecast Local Inflow (this is the default method which does nothing), Geometric Recession, Exponential Recession, and Coefficient and Exponent Forecast Inflow. These methods are analagous to the forecasting methods on the Reservoir object (see the above section for descriptions).
Forecast Hydrology on Control Point
On Control Point objects, the forecasting methods are accessed by selecting Forecast Local Inflows in the Local Inflow Calculation category. This adds the Generate Forecast Inflows category. There are three methods available in the Generated Forecast Inflows category: No Forecast Local Inflow (this is the default method which does nothing), Geometric Recession, and Exponential Recession. These methods are analagous to the forecasting methods on the Reservoir object (see the above section for descriptions).