skip to main content
Release Notes Version 7.2
Release Notes Version 7.2
This document describes new features, enhancements, and changes in RiverWare Version 7.2.
Special Attention Notes
Following are special attention notes, indicating that functionality has changed that requires you to update models, that results may differ, or you might get a warning message when you first load a model in 7.2:
• Save Precision: When saving model files, there is no longer an option to save with “extended precision” or regular precision. Instead, now input values are always saved with full precision (17 digits) while output values are saved with a user specified precision. Because saving full precision of input values will increase model size, you may want to decrease the precision of saved output values. This will allow you to offset model size growth as desired. The Confirm Save Model dialog gives you an indication of the uncompressed size of series data as you change the output precision.
• Groundwater Solution: The Head Based Groundwater solution was modified to prevent negative storage. The new application of Percolation, Evaporation and Evapotranspiration are always applied and thus, could result in model differences for models that previously produced negative Groundwater Storage values.
• Inline Power Pre-simulation Dispatching: The Inline Power Plant is now able to dispatch before the start of the run. As a result, if your model has pre-simulation inputs, you may need to clear those out to prevent an over determination error.
• Obsolete Optimization Categories: The unused Optimization WU Request Category and the Aggregate Optimization Requests category were removed from the Water User and from the Agg Diversion Site, respectively. Warning messages are posted when a model is first loaded in 7.2.
• Three Dimensional Table Interpolation changes: Within three dimensional table interpolation, the “convex hull” test was loosened. But if the test fails, it is now a fatal error. This could cause existing models to abort when previously they did not. If an abort occurs, modify your 3 dimensional table by editing or adding data points.
• CompletePartialDate with Offset: Previously, the CompletePartialDate RPL Predefined Function could return an incorrect value when the reference date had an offset. For example: CompletePartialDate(@“October 1”, @“t + 1 year”) This problem (Issue #6038) has been corrected, but the change could lead to model differences in models that use an offset within the CompletePartialDate function.
If you have any questions, contact RiverWare-Support@Colorado.edu.
Data Management Interface
DSS Database DMI Reliability
The DSS Database DMI was modified to improve processing of large data sets. Previously, a timeout could occur unexpectedly. This change makes the DSS DMI more reliable and robust.
Database DMI On/Off States
The Database DMI on/off status was improved as follows:
• Turning off a dataset causes its slot selections to be shown as off.
• Turning off all slot selections causes the dataset to be shown as off.
• The dataset is shown as a tristate (on, off, partially on) based on the state of its slot selections.
In addition, the on/off state is preserved in the model file when saved.
HDB Database DMI Importing Series Slot Notes
The HDB Database DMI was modified to ignore certain exceptions when importing metadata as Series Slot Notes. In addition, the utility now better recognizes missing metadata information.
Model Files
Precision of Values Saved in Model files
When saving model files, there is no longer an option to save with “extended precision” or regular precision. Instead, now input values are always saved with full precision (17 digits) while output values are saved with a user specified precision. Because saving full precision of input values will increase model size, you may want to decrease the precision of saved output values. This will allow you to offset model size growth as desired. The Confirm Save Model dialog gives you an indication of the uncompressed size of series data as you change the output precision.
Following are details of this change:
• Non-series data (e.g scalars, tables, etc) are always saved with full precision.
• Series values with the I, Z, or i flag are always saved with full precision.
• Series values with the O, R or other flags are saved with the user specified precision. The image above shows the configuration dialog.
• Slot value editors display a maximum of 15 digits.
• Optimization models no longer require “Extended Precision” as input values are always saved with maximum precision.
For more information, see “Saving Models” in User Interface.
Objects
Distribution Canal: Request Routing
The Distribution Canal now allows a monthly model to propagate requests if the lag is set to zero.
Groundwater
Linking to a Reservoir
A new solution type was added to model the interaction between a Reservoir and the groundwater beneath the reservoir. This “under reservoir” Groundwater object propagates the elevation and flows, but does not track storage. On the Groundwater object, select the new Head Based Boundary Condition method in the Solution Type category. Then link previous elevations and flow slots. The Groundwater object can then be linked to other Groundwater objects that use the Head Based Groundwater Grid method in the Solution Type category.
Preventing Negative Storage
For Groundwater objects with a Solution Type of Head Based Groundwater Grid, the calculation of Storage was revised to prevent negative values. The calculation of Percolation, Evaporation and Evapotranspiration are now limited so that they will not cause Storage to be negative. Additionally, a new set of slots called Flow Factor Upstream/Downstream/Left/Right can optionally be linked to the corresponding Flow Factor slot on adjacent Groundwater objects. The Flow Factor slots, when linked, compute and limit the lateral flows from one Groundwater object to another when Storage is close to zero.
The new application of Percolation, Evaporation and Evapotranspiration are always applied and thus, could result in model differences for models that previously produced negative Groundwater Storage values.
Details about how Storage is calculated on Groundwater objects with the Head Based Groundwater Grid solution can be found “solveGWMB_givenPreviousElevations” in Objects and Methods.
Specified Inflows
The Groundwater object was enhanced to allow a Specified Inflow. This ungaged flow can be used to add or remove a series of inflows (can be specified as periodic data) to the Groundwater object. More information is available “Head Based Groundwater Grid” in Objects and Methods.
In addition, water quality salinity slots were added to model the addition or subtraction of salt via these flows. Documentation is available “Specified Inflow Slots” in Water Quality.
Inline Power
Pre-simulation Dispatching
The Inline Power Plant is now able to dispatch before the start of the run. As a result, if your model has pre-simulation inputs, you may need to clear those out to prevent an over determination error.
In addition, the computational subbasin Initialize flow slots for Routing was changed to now look downstream through the Inline Power object. Previously, it stopped at this object. Finally, the Outflow slot is no longer backcasted, but the Inflow slot will be backcasted if it is not linked.
Specify Units Generating: Unit Turbine Release is Now Included
When the Specify Units Generating method was originally implemented for RiverWare 7.1, it only included Generation Capacity; the Power calculation was independent of Turbine Release. Now Unit Turbine Capacity has been added to the Unit Capacity slot, and you can optionally input the Unit Turbine Capacity. Also a new Unit Turbine Release slot was added which can be optionally input. If you do not input Unit Turbine Release, it is calculated by the method by multiplying the Unit Turbine Capacity by the Unit Generation Fraction. The method also now sets the total plant Turbine Release.
As part of this enhancement, the Unit Capacity table slot was converted from a 1xN slot with one column for each unit's generation capacity to a Nx2 table with a row for each unit. The first column is now Unit Turbine Capacity (flow), and the second column is now Unit Generation Capacity (power). If this method was previously implemented in a model using RiverWare 7.1, it will be necessary to repopulate the Unit Capacity slot with data the first time the model is loaded in the new version of RiverWare.
Power Plant Diversion and Generator Object
A new aggregate object was added: the Power Plant Diversion, and its Generator elements. Often these are used to model the diversions and depletions required for power plant cooling. This object will divert from a reach, reservoir or aggregate distribution canal to meet the requests. Diversion and depletion requests are computed by one or more linked Generator element objects. User selectable methods compute the required diversion and depletion based on generator characteristics. More information on the Power Plant Diversion can be found “Power Plant Diversion” in Objects and Methods while information on the Generator can be found “Objects and Methods” in Objects and Methods.
Reservoirs
Linking to Groundwater
A new solution type was added to model the interaction between a Reservoir and the groundwater beneath the reservoir. This “under reservoir” groundwater object propagates the elevation and flows, but does not track storage.
More information on the new Linked Seepage method and linking to a Groundwater object can be found “Linking to a Reservoir”.
Diversion Power
New categories were added to the reservoirs that enable you to model power produced through the Diversion slot. Three new categories were added to the Reservoirs. Each has a default method of None and one new non-default method:
• Diversion Power: Diversion Power Efficiency Curve
• Diversion Tailwater: Diversion Base Value Plus Lookup
• Diversion Power Bypass: Diversion Power Bypass Capacity Table
Max Iterations - Default Value
The Max Iterations slot on a Reservoir previously had a default value of 20. It is common for iterative solutions to require more than 20 iterations, so the value has been increased to 100. This will not affect existing models. It will only affect new Reservoir objects. Corresponding warning messages were also adjusted. Previously a warning was issued if the slot value was greater than 100. Now the warning is only issued if the slot value is greater than 1000.
Water User
Dispatch Slots
On the Water User, the Return Flow Salt Mass was added as a linkable dispatch slot. This slot should be linked for certain salinity modeling approaches, described “Salinity” in Water Quality.
Removal of Unused Optimization Categories
The unused Optimization WU Request Category and the Aggregate Optimization Requests category were removed from the Water User and from the Agg Diversion Site, respectively. Warning messages are posted when a model is first loaded in 7.2.
Object Dialogs
Object Viewer
The Object Viewer now persists within a RiverWare session. You can close the Object Viewer, and when you re-open it, the objects will still be there. Use the Object Viewer button in the lower right of the workspace to re-show the viewer.
In addition, closing an Open Object dialog or the Object Viewer no longer also closes member Slot dialogs but instead gives you the option to close the slots.
Custom Slots on Element Objects
You can now add custom slots on to an element of an aggregate object. For example, you can create an expression slot on a Reach element of an Aggregate Reach object.
Optimization
Summation Satisfaction Scaling - Numerical Stability Improvement
For Summation derived objectives, the internal scaling was improved for satisfaction variables, reward variables (if using a Reward Table), and objective function coefficients. This results in better freezing of constraints by reducing the number of constraints with dual prices close to the freezing tolerance and improves numeric stability. In some models, this corrects cases of infeasible solutions and reduces solution time. In some optimization models, this could contribute to different results due to a different set of constraints getting frozen.
Single Derived Objective per Goal
Previously, you were not prevented from including multiple derived objectives (Soft Constraint Sets) in a single goal; however, when this was the case, the resulting derived objectives could have unexpected behavior, and the solution could be incorrect. Now each priority is limited to solving only a single derived objective. If it tries to solve a second derived objective at the same priority, the run will abort with an error message. Any models that currently solve multiple derived objectives in the same goal should be revised so that each derived objective is in its own goal.
Incompatible Units in Constraints and Objectives
Previously, it was possible to write constraints or objectives with incompatible unit types, and they were not flagged as an error. For example, comparing units of Flow and Volume:
ADD CONSTRAINT Res.Outflow[t] <= 100 Acre-Feet
This has been corrected by adding a check when the constraint or objective is evaluated (fix to Issue #5906). Now when such cases are encountered, the run will abort with an appropriate error message about incompatible units. This will affect existing models if they currently include constraints or objectives with incompatible units. These constraints and objectives should be corrected to use the appropriate units.
New Message for Skipped Goals
In some cases a goal is effectively skipped (does not solve the optimization problem) because all constraints that would be added by the goal shrink to constraints that are already frozen. Now in these cases, a new green diagnostic message will be issued stating that this has occurred (fix to Issue #5196).
Simplified Objective for Seed-postponed Problem
When using a seed to skip the solution of initial goals, the first problem solved involves all of the constraints that were skipped and previously used an objective that was the weighted sum of all of the individual goal objectives. For reasons of numerical stability, the objective now uses equal weighting for all of the individual goal objectives (i.e. a weight of 1.0 for all goals). With this change, two Optimization parameters in the Seed Parameters category were removed because they are no longer used:
• POSTPONED PROBLEM OBJECTIVE METHOD
• SEED MAX OBJECTIVE WEIGHT
Existing models that contain a non-default value for one of these parameters will issue a warning message when they are loaded in 7.2. The parameters will be removed from the model once it is saved in 7.2.
POSAT Display Improved
In the Priority-oriented Optimization Solution Analysis Tool (POSAT), the three different categories of frozen constraints (New Constraints, Prior Constraints, Physical Constraints) are now displayed on separate tabs in order to make it easier to view lists of multiple frozen constraints. Previously they were three panels on the same tab. See “Priority-oriented Optimization Solution Analysis Tool” in Optimization.
Save CPLEX Problems Selectively
Previously if you wanted to save the CPLEX problems or CPLEX minimax subproblems from an Optimization run, you had to select that option in Optimization Run Parameters before the start of the run, and the problems for all priorities were saved. This could slow down the run significantly. Now the Save CPLEX Problems parameters are available during the run (this fixes Issue #933), which makes it possible to selectively save CPLEX problems and thus reduce the time required. For example, to see the problems associated with only a single goal, you could start a run, pause before the goal of interest, check the box to Save CPLEX Problems, continue and execute the goal, then pause and uncheck the box and continue the run.
Output Devices
Model Reports - Slot Selections Support Wildcards
Model Reports provide a way to export information about a RiverWare model or run results to an HTML file. See “Model Report” in Output Utilities and Data Visualization for information about this report item.
Many of the items that allow selection of objects, slots, or accounts were modified to allow wild-carding within the selection.
The following model report item types were modified:
• Slot Value Table
• Account Table
• Supply Table
This change only impacts editing of new script actions and new model report items; the behavior of existing model report items is unaffected.
Output Canvas - Flow Lines and Canvas Lines Shown on Workspace
The Output Canvas, described in “Output Canvas” in Output Utilities and Data Visualization, allows for visualization of outputs in spatially distributed teacups and flow lines. The following improvements have been added to the Output Canvas:
In RiverWare 7.1, settings were added to the Output Canvas to optionally show teacups, charts, and text on the geospatial and simulation views. In 7.2, now you can also see Canvas Lines and Flow Lines on the workspace views.
Models previously saved that displayed output canvas items on the workspace may look different when opened. Now, the workspace will automatically display Canvas Lines and Flow Lines from that canvas as well.
RDF Files - Improved Performance
Performance was improved when writing RDF output through MRM outputs, RDF File Output devices, and Excel Output devices. There is a reasonable improvement when writing to a local disk and a significant improvement when writing to network locations.
RiverWISE
A new application called the RiverWare Interactive Scenario Explorer (RiverWISE) is now available. RiverWISE will allow stakeholders to view an exported version of a RiverWare model and to explore alternative scenarios within constraints specified by the model developer. Documentation is available “Introduction” in RiverWISE Model Developer’s Guide.
A typical scenario exploration process consists of activities involving a model developer and a stakeholder. The process begins within RiverWare, with a model developer exporting a RiverWISE file that contains a model description, results from a baseline run of that model, a list of the slots whose values will be visible from within RiverWISE, and a list of the slots whose values can be changed from within RiverWISE. The developer provides the RiverWISE file to a stakeholder.
The stakeholder must download and install RiverWISE and obtain a free RiverWISE license, which is available on the RiverWare.org website (site coming soon). Once the stakeholder has opened the RiverWISE file, she can
• view baseline run data
• change input slot values
• re-run the simulation
• compare scenario results
• export results
• save scenarios
The stakeholder could then provide the developer with feedback on the baseline model including the scenarios she developed.
Following is a screenshot of the results tab showing results for two scenarios:
RPL
RPL Viewer
A new tabbed RPL Viewer, has been created for editing Rules, Goals, Methods, and Functions. By default, these RPL editors open as tabs in the Viewer but can be removed by dragging the tab off the Viewer. Dock the dialogs by dragging the R, G, M, or F icon onto the viewer. For more information, see “RPL Viewer and RPL Editor” in RiverWare Policy Language (RPL).
New RPL Predefined Function: ListSlotSet
The new ListSlotSet function evaluates to a list of the slots in a given Slot Set. Slot Sets are described “Slot Sets”.
For more information on this function, see “ListSlotSet” in RiverWare Policy Language (RPL).
Rule Execution of DMIs
When adding a Pre-execution or Post-execution DMI to a rule, you can now select the DMI from a menu that lists all of the DMIs available in the model. Previously you had to type in the name of the DMI. For more information, see “Executing DMIs From Blocks” in RiverWare Policy Language (RPL).
CompletePartialDate with Offset
Previously, the CompletePartialDate RPL Predefined Function could return an incorrect value when the reference date had an offset. For example:
CompletePartialDate(@“October 1”, @“t + 1 year”)
This problem (Issue #6038) has been corrected, but the change could lead to model differences in models that use an offset within the CompletePartialDate function.
Run Control
Aggregate Inputs During Timestep Size Change
When you change the run control to a certain larger timestep (e.g. daily to monthly), you have the option to aggregate input slot values. Additional options are now provided on how to deal with NaNs and Output values. For more information, see “Synchronize From Run Control” in User Interface.
Scenario Manager
With the introduction of RiverWISE, described “RiverWISE”, the Scenario Manager has been deprecated. The Scenario Manager, described “Introduction” in Output Utilities and Data Visualization, is still fully supported in RiverWare 7.2, but may be disabled in RiverWare 7.3 or later. If you use the Scenario Manager, contact RiverWare-Support@colorado.edu with any questions.
Script Management
New Action: Global Time Scroll
A new Global Time Scroll script action was added to set the date at which all time displays are scrolled. The setting allows a specified timestep or a symbolic DateTime. More information is available “Global Time Scroll” in Automation Tools.
Progress Indicators and Display of Actions
To make script execution more informative, the Script Dashboard has been enhanced to provide visual indicators of the currently executing action and the result of the action. .
In addition, sub-script actions (using the Execute Script action) are displayed indented under the calling script action. Progress indicators for subscript actions are the same as top level.
More information on the dashboard is provided “Script Dashboard” in Automation Tools
Slot Selections support wildcards
Many of the items that allow selection of objects, slots, or accounts were modified to allow wildcarding within the selection. The following script action types were modified:
 
Clear Scalar Slot Value
Set Method
Clear Table Slot Value
Set Scalar Slot Value
Create Snapshot
Set Series Slot Flags
Evaluate Expression Slots
Set Series Slot Values
Open Objects
Set Table Slot Value
Open Slots
Synchronize Objects
This change only impacts new script actions; the behavior of existing script actions is unaffected.
SCT
Edit Text Series Slots
Text Series Slots were introduced in RiverWare 7.1. Now, they are fully editable from the SCT, including the setting of a multiple cell selection either by typing or entering text in the editor at the top of the SCT.
Set Slot Labels
In the SCT's Edit Series Slot List tab, you can now set the labels for multiple slots in one operation. Right-click on a selection and choose to Set Labels to:
• Full Slot Names
• Slot Names
• Slot Column Names
• Slot and Column Names
Set Values over Time Range
A new operation on the SCT, Set Values over Time Range allows you to specify values on many timesteps at once.
• Set all the timesteps in that range to a specified value, or
• Interpolate the values over that time range to that specified value.
Selector
Accessing Slot Sets
The selector has been modified to allow you to use a defined Slot Set. The new Slot Set functionality is described in “Slot Sets”. The selector now has options at the top to either Create Selection or Use Slot Set
The use of the selector with Slot Sets is described in “Using Slot Sets When Selecting Slots” in User Interface.
Slots
Slot Viewer
The Slot Viewer is now the primary way to look at series slots. It is an ad-hoc tool to view multiple series slots in a single dialog. The slots shown and their order is not persistent in any way on the viewer. Each time a series slot is opened from anywhere in RiverWare, it is added as a column to the Slot Viewer. From the Slot Viewer, any slot can be “torn off” or dragged off to be shown as an individual Slot dialog.
Slot Sets
A new utility called Slot Sets can be used to define and name a static or dynamic collection of slots. The named Slot Set can then be referenced in contexts that require a user-specified set of slots, such as Script actions, DMIs, and Output Devices. Slot Sets can eliminate duplication and ensures consistency across the multiple uses. Within RPL, Slot Sets provide a re-usable collection of slots that can be referenced by the new RPL function ListSlotSet, described “New RPL Predefined Function: ListSlotSet”. For more information on Slot Sets, see “Notes Overview” in User Interface.
Expression Slot - Symbolic Date Ranges
A new time series range configuration dialog has been introduced for Series Slots with Expression. This new dialog provides the following ways to specify the start and finish dates including:
• Symbolic date functionality
• Selection of RPL Datetime function
• Static Datetime entry.
Series Slots with Expressions saved prior to RiverWare 7.2 that were synced with the run start or the initial date will be transformed to use the syntax “Start Timestep” and “Start Timestep - 1 Timestep”, respectively. Expression slots with no specified start dates will be transformed to a symbolic start date of “Start Timestep”.
More information is available “Evaluation Range” in User Interface.
Series Slot Notes on Accounting Slots
When adding or pasting a series timestep note to an account multislot, you are given the option of instead applying the note to a linked Supply. This is often the intended behavior so that the note appears on the two account multi-slots on both sides of the Supply.
Selection Statistics: Sum Flows to Volume
The numeric statistics shown on slot dialogs and SCTs now show a time-integrated sum for slots having “rate” units (i.e. Flow to Volume, Power to Energy, Velocity to Length.
The total value is shown using the active unit scheme's scale and unit for the time-integrated unit type (i.e. Volume, Energy or Length).
Periodic Slot - Base Year Symbolic Dates
Periodic Slots now support a symbolically specified base year, as shown in the screenshot:
More information is available “Configuration Options” in User Interface.
Time Aggregation Series Slot: NaN Behavior
Time Aggregation Series Slots allow you to temporally aggregate another series slot. Options were added on how to deal with NaN values in the input slot data. Now you can choose to not aggregate periods that are partially NaN. For more information, see “Configuration Settings” in User Interface.
3D Table Interpolation
Within three dimensional table interpolation, the “convex hull” test was loosened. But if the test fails, it is now a fatal error. This could cause existing models to abort when previously they did not. If an abort occurs, modify your 3 dimensional table by editing or adding data points.
Units
New Unit Type: VolumePerEnergy
A new unit type, Volume Per Energy, was added. User units include, for example, m3/MWH (default), gal/GWH, ft3/KWH, cfs/MW.
New Flow and Volume Units
Three new units are now available:
• Flow: MGD (million gallons per day) was added. This is identical to mgd but a different capitalization.
• Flow: gal/day (gallons per day) was added.
• Volume: MG (million gallons) was added.
In addition, the conversion factors used for conversions to units involving gallons were made more precise.
Workspace
Initial Workspace Timestep
The Initial Workspace Appearance dialog now includes an Initial Workspace Timestep check box containing a symbolic datetime setting. If enabled, this static or symbolic time is used in these two ways:
• When the model is loaded, a Global Time Scroll to the datetime value is made.
• The drop down menu shown with time navigation datetime spinners includes the initial workspace timestep
Middle Button Pans Workspace
You can now use the middle mouse button to pan the workspace views. Middle-click and drag to pan in the Simulation, Accounting and Geospatial Views.
Showing Flow Lines and Canvas Lines on the Workspace
Flow Lines and Canvas Lines can be shown on the Simulation and Geospatial Views of the workspace. You create the lines on an Output Canvas and then specify that they should be shown on the workspace. This is described in “Output Canvas - Flow Lines and Canvas Lines Shown on Workspace”.
Closed Bug Reports
The following bugs have been closed for this release. For more information on any bug, see the CADSWES website. The bugs are listed in order by bug number:
 
933
3067
3323
3618
3660
3713
3820
3962
4067
4233
4260
4267
4321
4328
4351
4464
4671
4889
5196
5203
5211
5236
5261
5309
5467
5520
5541
5631
5651
5652
5674
5699
5727
5735
5746
5749
5761
5781
5792
5806
5817
5820
5837
5841
5857
5866
5869
5879
5883
5887
5889
5894
5895
5898
5906
5907
5909
5910
5915
5918
5919
5920
5921
5928
5929
5932
5934
5936
5937
5949
5955
5964
5965
5966
5973
5977
5979
5980
5981
5982
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6019
6020
6021
6022
6023
6024
6025
6026
6028
6029
6030
6031
6032
6033
6034
6035
6036
6038
6039
6042
6047
6048
6049
6052
6053
6057
6059
6061
6062
6063
 
 
 
 
 
Revised: 06/03/2019