skip to main content
Release Notes Version 4.7
Release Notes Version 4.7
Special Attention Notes
If the text or graphics in this file are not clear, you may need to print this document. Resolution should improve on the printed page.
Optimization Slots
In the process of implementing the new optimization controller, a number of slots were added or modified. The new slots are visible when using the existing controller but should not affect model behavior. In addition, the number of columns of some LP Parameter slots were modified to make them consistent. This could affect DMIs. Finally, the Hydro Generation slot on the Thermal Object was previously being set to zero at the end of the run if not valid. This no longer occurs in this release.
General RiverWare
Database DMIs: HEC-DSS connection
There is now the ability to develop a direct connection between RiverWare and the Hydrologic Engineering Center’s Data Storage System (HEC-DSS). This connection is established by creating a new Database DMI from the DMI menu of the DMI Manager. Parameters, Name Maps and Data Sets are then created in the Utilities menu. More information on this feature can be found in the Data Management Interface Documentation in the RiverWare Help. This is the alpha release of this feature; the functionality and user interface are still under development.
It is now possible to use scalar, list, and periodic slots in DMI import and/or export processes. The syntax necessary to use these slots is described in the Data Management Interface Documentation in the RiverWare Help.
Multiple Run Management
Generate Excel Files from RiverWare
In MRM, it is possible to generate Excel files directly from RiverWare (Windows only), bypassing the ExcelWriter step. A screen shot of this feature is shown in the figure.
In the Output tab of the MRM configuration, the user must select the toggle: “Generate Excel files from RDF files” and then specify the configuration. MRM then creates the Excel files specified data files. The user can also specify that they wish to delete the RDF files after the Excel files are created.
Index Sequential Rotate By Years
An option has been added to the input tab of the MRM Configuration dialog to allow the initial offset and interval of rotation of input data for index sequential runs to be specified in years as well as in timesteps. The addition of years allows for daily data to automatically rotate 365 or 366 timesteps for each year depending on whether or not it is a leap year. This prevents an accumulating offset of the input data over many runs due to the leap year days if only 365 timesteps can be specified as the rotation.
Output Data File
In MRM, the output data file is now editable again in the user interface. Previously it was read only for models which migrated from the old MRM implementation to the new.
Output Manager
Output Manager Ported to Qt
The Output Manager was ported to Qt to improve its maintainability and appearance.
Generate Excel Files from RiverWare
Enhancements were made to allow the user to directly generate Excel files from Riverware (Windows platform only). This is accessed from the Output Manager as a new Output Type. The user must enter an Output Name and select or enter the name of the output Excel file. The user then selects the slots and the desired Excel configuration, i.e. slots as rows, timesteps as columns, runs as worksheets. A screen shot of this feature is shown in the figure. The user no longer needs to create RDF files and use ExcelWriter.
Plotting Accounting Slots
Accounting slots can now be plotted directly from the Plot Dialog. Previously, accounting slots could only be plotted from the Output Manager or from the SCT.
Environment Variables in the Output Manager
It is now possible to use environment variables in the output file paths for output devices.
Scenario Manager
Scaling Scenario Slots
In the Scenario Manager, it is now possible to scale all of the values in a scenario slot using the Scale Slot menu option. It is also possible to revert those scaled slots back to baseline values using the Fill with Baseline Values menu option.
Statistical Table Slots
Flow Duration and Annual Max Frequency Curves
The Statistical Table slot was added to the Data Object. The user selects the desired series slot as input and selects either a Duration Curve or a Max Annual Frequency Curve. The Duration Curve ranks the data in order and calculates the percentage of time each value is equaled or exceeded. The Max Annual Frequency Curve determines the maximum value for each year, then ranks the values and determines the percent exceedence. The user can then plot the resulting statistical data.
Run Control
Extended Time Series Range
The date/time range was extended from 500 years to 2,000 years. The valid date/times now range from 24:00 December 31, 1799 to 24:00 December 31, 3799.
Batch Mode and RiverWare Command Language (RCL)
New command line arguments
New command line arguments were added for running RiverWare from a command line prompt. The --objlist <file> prints a sorted list of all the simulation objects in the model, once loaded, to the specified <file>. The --slotlist <file> argument prints a list of the slots in the model, once loaded. Included with this is descriptive information about the slot including input or output data. By default, the initial timestep is used to characterize the data. The --slotdate <date> option changes the timestep at which it characterizes data. The <date> is specified as a string, e.g. “12:00 March 13, 2006.” Finally, the --acctdata <file> option prints a list of the accounts and descriptive information to the specified <file>. A full list of command line arguments can be found by typing “riverware --help” in the command window.
StartController Enhancement for MRM
In the RiverWare Command Language, the StartController command was extended to include the MRM configuration name:
StartController!MRM {configuration name}
If the configuration name isn’t specified, or if it doesn’t exist, batch mode prints an error message and exits.
Working with Models on Windows and Solaris
It is no longer necessary to save a model using the .gz extension if you wish to use it on both Windows and Solaris platforms. Now, models saved in an uncompressed format should be compatible on both platforms.
User Interface Enhancements
RiverWare Workspace
Object and Link Display Groups
There is a new feature called the Display Group Editor that allows the user to change the appearance of the Objects, Links, Accounts, and Supplies on the workspace. A screen shot of the editor is shown below. These groups contain members that are chosen using the new selector dialog. The selector dialog, described below, can be used to filter by attributes. The user is then able to change the display for the entire group. For example, all main channel links can be colored while diversion and return flow links can be dotted grey. The groups are prioritized such that a higher priority (lower number) will override a lower priority if there are conflicts amongst group members. The groups can be disabled or enabled using the check mark on the right of the editor.
Time Scroll Option on Abort
On an aborted run, it is now possible to scroll all time-scrollable windows to the context time. If the run aborts, there is now a “Time Scroll” button on the RiverWare notice window. For example, if your model aborts on Jan. 1, 1985, the user can select to scroll all time windows, like the Open Slot dialog, SCT’s and the Plot window to this date. This saves the user time when debugging the model.
Show Workspace Option
A new option was added to the File menu of the Open Slot and Open Object dialog that allows the user to show the workspace. This is accessed from the File -> Show Workspace menu.
Close All Objects and Open Selected Objects
On the Workspace menu, there is now an option to close all Open Object and Open Slot dialogs. This is accessed from the Workspace->Objects and Workspace->Slots menus, respectively. The submenu for Slots in the Workspace menu is also new; it contains the following operations: Open Slot and Close All Slots.
New Sub menus in the Policy Menu
Two new submenus were added to the Policy menu on the workspace: “Open Expression Slot RPL Set” and “Accounting Methods.” This allows users to access each of the different RPL sets from one menu.
Open Object Dialog
It is now possible to copy a slot and paste it to a data object. This action is performed from the Slot menu on the open Object dialog.
New Open Slot Dialog
The Open Slot dialog has been re-implemented in Qt and has been enhanced to address many usability issues; following is a description of the changes. First, on series slots, a “scroll to” feature has been added. The user enters a date and either hits return or clicks Scroll to move to that date. Also, a date/time spinner has been added. Previously, the old galaxy dialogs were difficult to scroll using the scroll bars. This has been fixed in the new implementation. There are now dividers to separate dates. For example, in a daily model, a divider is shown between each month. The column width is adjustable using the Adjust menu. There is now the ability to do multi-cell operations, such as set to Output, set to Input, or enter a value for all selected cells. The user highlights the desired cells and then uses standard options available from the Edit, TimeStep I/O, right-click menus or is type in a desired value. The copy and paste features also work for multi-cell selections. When pasting, the user must select the complete paste range, not just the first paste cell. The user can either Paste (input flags are maintained, output values are not pasted) or Paste as Inputs (all values are pasted and flags are converted to input). The figure below shows a screen shot of the new dialogs.
System Control Table (SCT)
The System Control Table (SCT) has been enhanced for better usability. Now the user can use the SCT for nearly all aspects of running a RiverWare model.
Diagnostics Window and Run Status Window Imbedded in SCT
The Diagnostics Window and Run Status window have been imbedded in the SCT status window. A screen shot of the SCT with these two windows is shown in the figure below. The Diagnostics Window can be configured through the Diagnostics menu of the SCT.
DMI Menu Now Appears in SCT Menu Bar
The DMI menu from the workspace now appears in the SCT menu bar. Enhancements include the display of DMI program/group icons to visually distinguish the three types of DMI items, and the option to show all DMI items within the DMI menu instead of within cascading submenus.
Slot Navigation with the Go To Menu
A new menu has been added to the SCT called the Go To menu. This menu allows the user to find a slot using the Find Slot option. In addition, if there are dividers in the SCT, a cascading menu is available that allows you to go to the divider. The first time the Go To menu is chosen, there is an Instructions menu which provides detailed directions on using this menu.
SCT File Menu
There is now the ability to load or create new SCT’s directly from an existing SCT. In addition, when opening an SCT, the previously opened named SCT’s are listed for quick loading under the Reopen menu. Finally, there is now the option to open models directly from the SCT.
Diagnostics Output Window
Diagnostics Window Ported to Qt
The Diagnostics Output Window was ported to Qt and enhanced. There is a search toolbar where the user can enter key terms and search either up or down. The user can also specify the type of diagnostics to search including Information, Highlights, User Messages, Warnings, Errors, Internal Errors, and all messages. This is accessed by selecting the colored square (it is white to start) just to the right of the search box. The screen shot below shows the dialog and the diagnostics type search filter. In addition, the window scrolling has been improved and line numbers have been added. Finally, the following options have been added to the Edit menu: Copy Message Line, Copy Visible Message, Copy All Message Lines. These menus allow the user to copy diagnostic messages and paste them into an external program.
Selector Dialog
The selector has been completely re-designed and implemented in Qt. Previously, there were multiple selectors depending on the context, i.e. whether the user was selecting a slot, an object, or an account. Now it is the same selector for all cases, with the appropriate choices.
Depending on what is being selecting, different panels will be visible. For example, in the screen shot below, an accounting supply is being selected so there are panels for Object Type, Object, Accounts, and Supplies. The selection can be filtered using the toggle buttons above the panel or the “filter by” option from the icon above the panel to the right. More information on this feature is available in the User Interface section of the RiverWare Help.
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 RiverWare Help for more detailed descriptions of the enhancements to the objects and their methods.
Slope Power Reservoir
Weighting Coefficients Method
In the Weighting Coefficients method, the Segment BW Table has been renamed Partition BW Table and a unique three column block of data now represents the partitions headwater, backwater, and flow relationship. In addition, the method was modified to set the Backwater Elevation equal to the value of the most upstream partition’s backwater elevation. This allows the user to link the Backwater Elevation to an upstream reservoir’s Tailwater Base Value slot.
Power Reservoir Objects
Peak Power Equation with Off Peak Spill
A new power method called Peak Power Equation with Off Peak Spill was added to the Power Calculation Category on the power reservoir objects. This new method uses the standard power equation to calculate power and energy produced for a peaking portion of the timestep using the water power equation. Included also is a calculation of the off peak spill that occurs when the turbines are not operating.
Additional Hydropower Release
A new category called Additional Hydropower Release Calculation was added to the power reservoir objects. It is used to calculate the additional release necessary to meet a hydropower demand. Two methods were added to this category: the default, no-action No Additional Release method and the Meet Hydropower Load method. Both methods are dependent on having the Phase Balancing or Operating Level Balancing flood control method selected. In addition, this category is dependent on having the Peak Power Equation with Off Peak Spill power calculation method selected. The Meet Hydropower Load method is used by the U.S. Army Corp of Engineers - Southwestern Division to calculate the additional hydropower release necessary to meet a hydropower load. The methods in this category are executed from the HydropowerRelease() predefined rule function.
Load Calculation
A new category called Load Calculation was added to the power reservoir objects. The category is dependent on having the Meet Hydropower Load method selected (see above). In this new category there are seven new methods: No Method, Input Load, Annual Load, Monthly Load, Periodic Load, Seasonal Load and Seasonal Load Time. The selected method in this category is executed at the beginning of each timestep to calculate the desired energy (load) to be generated for the timestep.
Distribution Canal
Storage Calculation
A new method category, Storage Calculation, has been added to the Aggregate Distribution Canal object. If selected, the Input Change in Storage method allows the user to specify when, and at what rate, the canal fills and drains. Between fill and drain dates, the distribution canal will mass balance to track the storage. It is assumed that storage will remain constant and the flows in the canal should be such that storage is maintained. Evaporation and other losses are removed from the canal outflow.
Evaporation from Storage
A new method, Evaporation from Storage, has been added to the Aggregate Distribution Canal object. There is only one user method available, Input Evaporation. The Input Evaporation method allows the user to specify evaporation in a periodic slot. In order to maintain storage (and it is assumed that storage is kept constant except when filling/draining) flows through the canal must be large enough to account for evaporation. Any evaporation is removed from the canal outflow when in the mass balance calculation.
Pipeline Object
Pipeline Hydraulics
The Pipeline object has been enhanced to track the head and head loss associated with pressurized pipe flow. Head loss is computed based on the Hazen-Williams formula.
Thermal Object
Regulation Calculation
The simulation modeling of an ancillary service, voltage regulation, has been improved in two ways. First, regulation is checked for consistency with power generation and hydro capacity (MW): power + regulation <= hydro capacity. If necessary, regulation is reduced to satisfy this constraint. Second, several warning messages have been added. In the course of this work, several relatively small bugs in the simulation calculation of values on the thermal object were detected and corrected.
New Objects: Pipe Junction and Inline Pump
Two new objects have been added to the RiverWare Object Palette, the Inline Pump and Pipe Junction. These objects are intended to be used with the Pipeline object to model a pipeline distribution network. The Inline Pump object is intended to model a booster pump station which adds head and computes the energy consumed. The Pipe Junction object simulates the split or junction of pressurized pipe flow.
Table Interpolation Error and Warning Messages
The table interpolation warning and error messages have been enhanced to increase clarity and to supply more information about the variables involved. Information is now given about the table, the timestep, and the value used in the interpolation. All information is given in user units.
Water Quality / Salinity Enhancements
The well-mixed salinity calculations were enhanced on the following objects: Reaches, Aggregate Reaches, Aggregate Diversion Sites, Confluences, Reservoirs, Bifurcations and Stream Gages.
The Reach and Aggregate Reach objects were enhanced to solve in an upstream direction (when Outflow Salt Concentration is known), and for Local Inflow Salt Concentration (when both Inflow and Outflow Salt Concentration are known). Prior to this release, the Reach and Agg Reach could only solve in the downstream direction.
The Reservoir object has been enhanced to solve in both the upstream and downstream direction. Also, a new user-selectable solution method was added. In addition to the existing default method that solves given a weighting factor, a new method has been added to use the Huen or predictor-corrector solution approach.
On each of the objects mentioned above, slots were added to hold the salt mass data as well as salt concentration data. Essentially, each salt concentration slot (i.e. Inflow Salt Concentration, Diversion Salt Concentration, etc.) now has a corresponding salt mass slot.
Rulebased Simulation and RiverWare Policy Language (RPL)
RPL User Interface
RPL Palette Dialog Ported to Qt and enhanced
The RPL Palette was re-implemented in Qt. As a result, the dialog is much more compact and easier to use, especially on Windows. The palette has the same general layout with three tabs: Palette Buttons, User-Defined Functions, and Predefined Functions. On the two function tabs, the user is now able to sort the functions alphabetically by Return Type, Name, or Arguments. In addition, the columns can be rearranged more easily. For the functions, the user must now double-click a function on the palette to add it to the selected expression. For user-defined functions, a single click selects the function and shows the description in the Description window, if enabled. Finally, a search feature has been added to the bottom of the Palette so the user can more easily search the functions’ Names, Descriptions, and/or Definitions.
New RPL Palette Buttons
Two new buttons were added to the Conditional/Iterative section of the RPL palette, SUM and AVG. These two operators provide a preconfigured FOR loop to sum or average the values over the specified index.
Enable/Disable RPL Statements
It is now possible to enable/disable individual statements in RPL. For example, a user may disable one assignment statement in a rule. This is accomplished by right-clicking on the selected statement and toggling off Enable. This can also be performed through the Edit menu. The disabled statement changes color according to the user preferences in the Layout->Display dialog.
Enable/Disable Items in a RPL LIST
It is now possible to enable/disable individual items in a RPL List. For example, a user may have a list of reservoirs but wishes to disable the first reservoir. This is accomplished by right-clicking on the selected item in the list and toggling off Enable. This can also be performed through the Edit menu. The disabled item changes color according to the user preferences in the Layout->Display dialog.
Default Agenda Order
The default agenda order has been changed from “1, 2, 3...” to “... 3, 2, 1”. This only affects new policy sets and can be changed from the View ->Show Advanced Properties menu on the Ruleset Editor.
RPL Predefined Functions
Following is a brief description of a new predefined function available for use in the RiverWare Policy Language. Details on the use of these functions and the syntax involved are available in the Rulebased Simulation Documentation in the RiverWare Help.
This function calculates the additional outflow necessary to meet an unmet load (energy requirement) while preventing additional downstream flooding. This function is dependent on having the predefined function FloodControl() and its associated methods execute first which sets up the network topology and checks for necessary data. The HydropowerRelease rule was developed specifically for the U.S. Army Corp of Engineers to implement their hydropower release operations.
Random, RandomNormal
Random(NUMERIC seed, NUMERIC index, NUMERIC units) returns a number from a random sequence of numbers uniformly distributed between 0.0 and 1.0. RandomNormal(NUMERIC seed, NUMERIC index, NUMERIC units) returns a number from a random sequence of numbers whose distribution is normal with a mean of 0 and a standard deviation of 1.
New Accounting Workspace
A new feature has been added to RiverWare that allows the user to visualize and build an accounting network. Once Accounting is enabled, a pull-down menu appears on the toolbar that allows the user to switch from the Simulation View to the Accounting View. The first time this action is performed, RiverWare locates the objects according to the simulation view layout. The objects and accounts can be rearranged by dragging them to their new location, which is saved with the model file. Large rectangles represent objects; the icon and name are shown in the upper left. The small rectangles inside the object represent storage accounts, ovals represent pass-through accounts, and trapezoids represent diversion accounts. The arrows represent the supplies. Colors and other display attributes of the objects, accounts, supplies are controlled using the Display Group Editor found on the Workspace menu. Simulation links can be shown from the Display Group Editor -> Preferences menu. A configured display is shown in the screen shot below.
The Accounting View can also be used to view and build models. Double-clicking on the object rectangle or the account brings up the appropriate dialog. New objects can be added using the right-click->Add Objects menu. Supplies can also be added by right-clicking on the downstream account, selecting Add Supply, then right-clicking on the upstream account. More information on this feature is available from the User Interface section of the RiverWare Help.
Accounting System Configuration Dialog
The Accounting System Configuration Dialog was reimplemented in Qt as shown in the following screen shot.
This dialog is accessed through the Accounting -> Account System Configuration menu. In the new dialog, there are no longer tabs. Instead, everything is shown in one view. Water Owners, Water Types, Release Types and Destination Types can be added by clicking on the “+” icon or deleted using the “-” icon. User Units, Scale, Precision, Format, and Convergence can be changed by right-clicking on the desired variable.
Account Configuration Dialog - Open Account Dialog
The Open Account dialog has been reimplemented in Qt and enhanced for usability as shown in the following screen shot.
In the new dialog, there is now a Slots tab in addition to the Methods, Supplies, General, and Units tabs. The Slots tab shows the accounting slots in a format similar to the Open Object dialog. Double-clicking on a slot brings up the standard Open Slot dialog. The Supplies tab now incorporates information on both supplies and demands; the Demands tab was removed. The Units tab looks similar to the old dialog; right-clicking on a cell changes the value.
Stochastic Optimization
The first implementation of a network stochastic programming algorithm is available in RiverWare. Stochastic optimization allows the user to maximize avoided cost and future value based on alternative hydrologic scenarios. This work is still in the research stage; contact for more information.
Power Efficiency Curve Method
A scalar slot, Power Curvature Tolerance was added to the Power Reservoir for use in optimization models. This slot is instantiated either by the Plant Efficiency Curve method in simulation or a power linearization method in optimization. This slot is used as a parameter in the method Check Z Curves and reflects how much violation of the desired curvature is within tolerance, and overrides the default value.
Closed Bug Reports
The following is a list of the bugs which were fixed for this release. If you wish to view the details for a specific bug, please browse to and search our bug database. You will need a RiverWare user login and password.
Revised: 06/03/2019