skip to main content
Release Notes Version 4.8
Release Notes Version 4.8
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.
Hydrologic Inflow Forecast
The slot Hydrologic Inflow Forecast was added as a dispatch slot to the reservoir objects. In certain models, the Hydrologic Inflow Forecast was calculated throughout the forecast period but did not cause the reservoir to dispatch given the new information. This could change results in models that use the Geometric Recession or Exponential Recession in the Generate Forecast Hydrology category.
Changes to the Accounting system
To decrease the size of accounting models, a number of changes were made that could affect existing models. In general, restrictions were tightened on the allowed slots on passthrough accounts. Slots that are no longer supported are removed from the model file. Although this change will not affect the solution of the accounting system, it is possible that this change could affect existing rulebased models that use functions to look up accounting information on the objects.
For more information, see “Changes to Passthrough Accounts” If you have any difficulty updating your model, contact riverware-support@colorado.edu.
General RiverWare
Multiple Run Management
Iterative MRM
A new mode of Multiple Run Management (MRM) was added called Iterative MRM. Iterative runs are multiple runs where MRM rules at the end of each run examine the state of the system and, if appropriate, set inputs for the subsequent simulation run. If no values are set and/or modified or the maximum number of iterations occurs, then the simulation ends. MRM rules are written in the RiverWare Policy Language. For more information on iterative MRM, consult the Multiple Run Management Documentation in the RiverWare Help.
Statistical Table Slots
The Statistical Table Slot was enhanced with new functionality as described below. For more information on the Statistical Table Slot, see the Statistical Table Slot Documentation in the RiverWare Help.
New Statistical Functions
Two new statistical functions were added as options to the slot. Annual Min Frequency Curve determines the frequency of exceedence for the minimum annual value. The Annual Average Frequency Curve determines the frequency of exceedence of the average annual value.
Filtering Input Data
It is now possible to filter the input slot data for the statistical slot by date range, month, minimum value, maximum value, and number of largest values as shown in the following screenshot.
Additional Statistics and Display
Statistical table slots now display the standard normal values for the exceedence probabilities, the rank of the value, and the year (where appropriate, such as the annual statistical table slots) as additional column in the statistical slot. With this new data, it is now possible to plot the statistical slot using axes and grids that are similar to normal probability paper as shown in the following screenshot. In this type of plot, the vertical markers are added automatically but can be modified by the user.
Batch Mode and RiverWare Command Language
Removed --noacctmin option
The “--noacctmin” option was removed as an argument when invoking riverware from the command prompt. With the removal of this option, the user can no longer turn on full-future account solving. Filtering out future solving has occurred for many years now and is now permanent.
Modified --acctdata option
The “--acctdata” option was modified to include the account priority date in the output file. This option is available when riverware is executed from the command prompt.
Data Management Interface
Import and Export of Database DMI Objects
It is now possible to import and export Database DMI objects including Database DMIs, Name Maps, and Datasets. This action is performed from the File menu in the DMI Manager. The following screenshot shows the dialog used to select the objects to export. More information can be found in the Data Management Interface Documentation.
riverwareDB file
The riverwareDB file can now be used to define the default units of the column headings in periodic slots instantiated from the simulation object.
License Expiration Warning
A message was added to the diagnostics that warns the user when their license is about to expire. The message appears each time RiverWare is opened starting 5 days before the license expires. We encourage you to contact installsupport@cadswes.colorado.edu if you get this message and wish to renew your license.
General User Interface Enhancements
Diagnostics Output Window
Minor user interface changes were made to the diagnostics output window including moving the Clear Messages option from the File Menu to the Edit Menu. In addition, a new menu item “Add 'Search' text as User Message” was added to the Diagnostics Output Window under the Edit menu. This menu option allows the user to add the text in the 'Search' box to the diagnostics output. The User Message acts as a bookmark that can be queried.
Expression Slots
The Series Slot with Expression dialog to configure the timeseries was ported to Qt. In addition, the user can now select to Always Sync Range with Run Control but still have a timestep that is different than the run’s. There is the possiblity that the range in this slot will extend beyond the run control and the expression will not evaluate successfully. For example, if you have a daily model that runs from Jan 1 to March 15th and the expression slot is configured to evaluate monthly, the expression slot will try to evaluate on March 30th but may not have enough data to solve. This updated dialog is shown in the following screenshot:
Workspace
If the user drags icons off the canvas, all of the selected objects will be returned to their original position and a warning dialog is posted. This was done to prevent the user from inadvertantly moving objects or accounts off the canvas and not being able to move them back.
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.
Reservoir Objects
Low Flow Releases Category
A new category was added to the reservoir objects named Low Flow Releases. Within this category there is the default no-action method and the Enable Low Flow Releases method. The Enable Low Flow Releases method is used with the MeetLowFlowRequirement predefined RPL function used to meet low flow requirements at a downstream control point by releasing from one or more reservoirs.
Operating Levels Category
A new category called Operating Levels was added to the reservoir objects. In this method, the user can select the Conservation and Flood Pools method if the user wishes to define flood and conservation pools on the reservoir. If not, the default no-action None method can be used.
Diversion Capacity Slot
A new slot, Diversion Capacity, was added as a general slot to the reservoir objects.
Hydrologic Inflow Forecast
The slot Hydrologic Inflow Forecast was added as a dispatch slot. In certain models, the Hydrologic Inflow Forecast was calculated throughout the forecast period but did not force the reservoir to dispatch given the new information. This could change results in models that use the Geometric Recession or Exponential Recession in the Generate Forecast Hydrology category.
Bifurcation Object
Solution Direction
Two new methods were added to the Bifurcation Solution Direction category: Solve Outflow1 Only and Solve Outflow2 Only. These two methods limit the available dispatch methods so the bifurcation will only solve in one direction.
Negative Outflow Warnings
Negative outflow warnings were removed from the bifurcation object.
Control Point
Low Flow Requirement Category
On the control point, a new category called Low Flow Requirement was added to allow the user to determine the required low flow. The user can select the Reservoir Level Lookup method to relate the low flow requirement to the level of a reservoir. Or, in the Low Flow Periodic Lookup method, the user can input a periodic table of low flow requirements.
Distribution Canal
Head Based Seepage
A new seepage method, Head Based Seepage, was added to the Canal Seepage category. This new method determines the seepage from the canal as the function of water surface elevation, water table elevation, canal bed elevation, and conductance from the canal.
Diversion Object
Periodic Diversion Requests
A new method was added to the Diversion Request Calculation called Periodic Diversion Requests. This method allows the user to input a periodic slot containing the diversion requests.
Reservoir Level Lookup
A new method was added to the Diversion Request Calculation called Reservoir Level Lookup. This method allows the user to input a periodic slot that relates the Diversion Request to the level of a specified reservoir.
Diversion Object Solution Direction
A new category was added to the Diversion Object called Diversion Object Solution Direction. In this category, there is the default method Solve For Outflows and the new Solve Given Outflows. Solve For Outflows provides the previous functionality. If the user selects, Solve Given Outflow, the available dispatch method become SolveDiversionGivenOutflow.
New SolveDiversionGivenOutflow Dispatch Method
This new dispatch method is only available when the Solve Given Outflow is selected in the Diversion Object Solution Direction category. This dispatch method requires that the total Multi Outflow is known and the Diversion and Diversion Request are unknown.
Diversion Shortage as a general slot
Diversion Shortage was added as a general slot to the Diversion Object. Calculated in the dispatch method, the Diversion shortage is the difference between the Diversion and Diversion Request.
Groundwater Storage Object
Evapotranspiration Category
A new method category, Evapotranspiration, was created to simulate evapotranspiration directly from the groundwater. It contains the following methods which specify how the user wishes to parameterize the evaporation calculation: None, Input ET Rate, Input ET Volume, and Elevation ET Table. This method is available for either the Single Groundwater or Connected Groundwater objects.
Groundwater Solution Type Category
A new method category, Groundwater Solution Type, was added to the groundwater object. The default method is called Single Groundwater Object and represent the previous functionality. A new method, Connected Groundwater Objects, was added to allow the user to model groundwater objects that are connected to other groundwater objects.
Specify Connected Groundwater Objects Category
This method allows the user to specify the number and location of the connected groundwater objects with respect to the current object. This new method category contains 14 user methods representing all combinations of Upstream, Downstream, Left and Right. For example a groundwater object may be connected to only one other groundwater object which is upstream. Or it may be connected to four other groundwater objects which are upstream, downstream and to the left and right. A method called No Connected Groundwater Objects method category is also available to specify that there is no connection to other groundwater objects.
Head Based Percolation Method
A new method, Head Based Percolation, was added to the GW Deep Percolation category to allow the user to determine percolation as a function of groundwater elevation. This method is only available if the Connected Groundwater Objects method is selected.
Input Pumped Flow Method
A new method was added to the Pumping Calc category called Input Pumped Flow. It models groundwater pumping by removing a given amount of water from storage. This method is dependent on the selection of the Connected Groundwater Objects in the GW Solution Type category
New Dispatch Method SolveGWMB_GivenPreviousElevations
This dispatch method is used exclusively when the Connected Groundwater Objects method is selected. The solveGWMB_givenPreviousElevations dispatch method will compute the current Storage and Elevation values based on the previous elevations and any other selected mass balance variables.
Reach
Stage Table Lookup Method
The Stage Table Lookup user method was modified on the Reach object. Previously, the Stage slot in this method was set equal to whichever value was known, Inflow Stage or Outflow Stage (as calculated using inflow and outflow stage tables). If both values were known, it is set as the average of the two.
In the revision, the stage slot is set equal to an average value whenever possible. If inflow and outflow stage values are known for the current time step, the stage is set as the average of these two values. If one of the values is not known for the current time step, a value is sought at the previous time step. The stage is then set as the average of a current time step stage value (either inflow or outflow) and the previous time step stage value (either inflow or outflow, corresponding to whichever is not available at the current time step). If a value from the previous time step is still not available, at the first time step of a model run, for example, no averaging is done. The stage slot value is set equal to whichever value is known at the current time step.
Head Based Seepage Method
A new seepage method, Head Based Seepage, was added to the Seepage Calc category. This new method, only available if the Stage Table Look Up method is selected, determines the seepage from the reach as a function of stage, water table elevation, streambed elevation, and conductance from the reach.
Periodic Minimum Bypass Method
A new method called Periodic Minimum Bypass was added to the Minimum Diversion Bypass category. It allows the user to input a periodic slot that contains the Minimum Bypass.
Diversion Capacity Slot
A new slot, Diversion Capacity was added to the Reach. It is dependent on having either the Available for Diversion or Head Based Diversion method selected.
Water User
Irrigation Acreage and Evapotranspiration Rates Category
A new category called Irrigation Acreage and Evapotranspiration Rates Category was added to the Water User. This category, available only when the Irrigation Requests method is selected in the Diversion and Depletion Request user category, allows the user to specify how they wish to parameterize the Irrigated Area and Evapotranspiration Rate slots. The Input Acreage and Rates method, the default, mirrors the previous functionality in the Irrigation Requests method where the user inputs a time series of Irrigated Area and Evapotranspiration Rates. The Aggregate Acreage and Rates method allows the user to input Crop-specific Irrigated Area and Crop-specific Evapotranspiration Rates. The method then sums the Crop-specific Irrigated Area to get the total Irrigated Area and averages (weighted by area) the Crop-specific Evapotranspiration Rate to get the Evapotranspiration Rate.
Irrigated Area GW Return Rate method
The Irrigated Area GW Return Rate method was added to the returnFlowSplitCalculation category on the water user. This method allows the user to split return flows between the surface water and groundwater as a function of diversion, diversion request, groundwater return rate, and irrigated area. The method is dependent on having the Irrigation Requests method selected in the Diversion and Depletion Request category.
Multiple Supply Sources Category
A new method category was added to the water user called Multiple Supply Sources. Aside from the default “None” method, it has a single selectable method called Multiple Supply Reservoirs. This method instantiates the Supply From Reservoirs slot and Maximum Delivery Rates slots.The Supply From Reservoirs slot should be linked to the Multi Outflow slot of each supplying diversion object. It will be used to specify the diversion objects that act as supplies, and it will hold the data returned by the ComputeReservoirDiversions RPL function that computes the diversions from each reservoir to meet a demand requirement.
New Diversion Request Calculations
Two new methods were added to the Diversion and Depletion Request Calculation category, Periodic Diversion Request and Reservoir Level Lookup. The Periodic Diversion Request calculates Diversion Requested using a periodic slot. The Reservoir Level Lookup method calculates the Diversion Requested as a function a specified reservoir’s Operating Level.
Limit Diversion Category
A new method category called Limit Diversion was added to the water user. Aside from the default “None” method, the category has a user selectable method called Limit By Reservoir Level. This method performs no calculations directly but will add the Demand Reservoir slot. If this method is selected, the RPL function, ComputeReservoirDiversions which computes the Supply From Reservoirs slot, will not compute a diversion if the Demand Reservoir is in the flood pool or if its level is higher than the supply reservoir.
Rulebased Simulation and RiverWare Policy Language (RPL)
RPL User Interface
Search and Replace
In the RiverWare Policy Language set editors, it is now possible to Search and Replace. The RPL search and replace dialog supports flexible replacement of strings within a RPL set. Within this dialog the user can search for all occurrences of a string and replace all or some of those occurances with another string. The screenshot below shows this dialog.
For more information see the RPL Search and Replace section of the Riverware’s Rulebased Simulation online help.
Import and Export of RPL blocks
Functionality has been added to allow the import and export of RPL blocks between rulesets, object level accounting methods, MRM rules, expression slot RPL sets and optimization ruleset. Now the user can export a rule, group, or the entire set. To export, the user shows the Export column using the View menu. The user then selects the rules and/or groups to be exported and then uses the File menu to initiate an export. The following screenshot shows the export column.
To import, the user selects import from the File menu on the set editor and selects a file to import. RiverWare opens the following dialog which allows the user to confirm the import and resolve any conflicts. More information is available in the RPL Editor Dialogs section of the RiverWare Rulebased Simulation help
Deleting RPL Blocks
A confirmation dialog is now presented when the user attempts to delete a group, rule, or function in the RPL Set Editors. This was added to prevent inadvertent deletion of RPL objects.
Predefined Function Diagnostics and Display
The user can now enable predefined function diagnostics before and after execution of the function. To enable this functionality, the display of predefined functions was also added to the RPL set editor. The user can now display predefined function groups using the View menu. Although not editable, opening a predefined function displays the name of the function, the arguments, and text saying that the function cannot be edited. Similar to user defined functions, the user can then specify to print Before Execution or After Execution diagnostics for each predefined function. Functionality was added to turn on and off all predefined function diagnostics from the main RPL set editor under the Ruleset -> Function Diagnostics menu. Below is a screenshot of a predefined function with function diagnostics enabled.
RPL Predefined Functions
Following is a brief description of new predefined functions 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.
HasRuleFiredSuccessfully
This function returns a boolean of whether the specified rule has fired successfully on the current timestep.
ComputeReservoirDiversions
This function is used to meet multiple water user demands using multiple reservoir diversions. It was developed for the U.S. Army Corp of Engineers to allocate diversions that come directly from one or more reservoirs.
MeetLowFlowRequirement
This function computes the necessary Low Flow Releases from contributing reservoirs to meet the low flow requirement at a specified control point. It was developed for the U.S. Army Corp of Engineers.
Accounting
Changes to Passthrough Accounts
To improve the size and functionality of the accounting system, a number of changes were made to passthrough accounts as follows.
Legal Lag
RiverWare was modified to allow legal lags only on passthrough accounts on Reach and Distribution Canal Objects. If you have a lag on a passthrough account on a reservoir, your model will need to be updated.
Gain/Loss
Gain/Loss slots will be allowed only on passthrough accounts that are on reaches, distribution canals or reservoirs. The Gain/loss Coefficient slot is only available on passthrough accounts on reaches.
Diversions and Return Flows
Diversions and return flows will be allowed only on reaches, distribution canals, diversion objects, reservoirs, and water users. Diversions and return flows are left on passthrough accounts on reservoirs for backward compatibility reasons only.
Transfers
Transfers in and transfers out will be available on passthrough accounts on Control Points, Stream Gages and reservoirs. If you have transfers in or transfers out on other objects, you will need to move these to a Stream Gage, Control Point or reservoir.
Storage
Previously, all passthrough accounts had a Storage slot, even if it was not enabled. Now, Storage is allowed only on passthrough accounts on reservoirs when it is enabled using the “Storage Allowed” checkbox. Furthermore, the Storage slot is instantiated only if the Storage Allowed is checked. This could affect rulesets that look for Storage on all passthrough accounts. The user will need to modified the ruleset to only look at the correct accounts.
Inline Power Plants
It is now possible to create passthrough accounts on Inline Power Plant objects.
Linkage to offstream reservoirs
Because of changes to the accounting system, the physical linkage used to connect a reach to an offstream reservoir should now look like the following:
Reach.Diversion <----->DiversionObject.Diversion
DiversionObject.Outflow <----> Reservoir.Inflow
On the accounting network supplies should be connected as follows:
Reach^Passthrough.Diversion<---->DiversionObject^Passthrough.Inflow
DiversionObject^Passthrough.Outflow<---->Reservoir^Storage.Inflow
Previously, the Reach^Passthrouh.Diversion was connected to the DiversionObject^Passthrough.Diversion.
Changes to Storage Accounts
A Diversion multislot and a Return Flow multislot were added to the storage account. In the account solution, Diversion and Return Flow were added to the storage mass balance but not to the accrual calculation.
Changes to Diversion Accounts
Lag unit type
On Diversion Accounts, the return flow lag now has units of time, like that for passthrough account.
Open Slot Dialog Menus for Accounting Slots
On the Open Slot dialog for accounting slots, the TimeStep I/O menu and the context menus (i.e. right-click) were changed to the following: Set to Input, Set All to Input, Clear Non-Inputs, Clear Values, Clear All Values. These selections are different from simulation slots because accounting slots are solved for differently.
Object Account Summary Dialogs
The Object Account Summary Dialog was re-implemented and enhanced. The Object Account Summary Dialog shows summary data about selected accounts on a specified object. For example, the user could select to see the total accounting storage for a given water type. The main difference from the old dialog is that now both the summation and the components of that sum are now shown. In addition, there is enhanced filtering and display functionality. Following is a screenshot showing the new Object Account Summary Dialog and a description of the components of the dialog.
Select Objects
The user can select the object using either a pull-down menu or through the slot selector dialog. Currently, the user can only select one object to show; in the future, multiple objects will be supported.
Columns
The user can show timesteps as either the column or the rows. If Acct Slots is selected, the accounts are shown across the columns and timesteps go down the rows as shown in the above screenshot. If Timesteps is selected, the timesteps are displayed across the columns and the accounts displayed down the rows in the table as shown in the following screenshot. If Timesteps is selected, the user can select the timesteps to display using the Set Selection button and the check boxes.
Account Types
Accounts can be filtered by type, i.e. Storage, PassThrough, Diversion, or Instream Flow, using the check boxes.
Account Slot Entity
The slot entity (Outflow, Inflow, Storage, etc...) shown in the summary area is selected using the pull-down menu. The most common slot types can be selected using buttons.
Account Selection
The accounts can be ordered and selected for display in the summary area. If the List All Accounts toggle is selected, then all accounts will be shown. Otherwise, only the selected accounts are shown. Each column can be sorted by clicking on the column heading. To select multiple accounts, highlight the row and click Set Selection. All accounts can be selected using the Select All Accounts button.
Summary Area
The summary area shows each of the selected slots and the total sum in the left most column. If appropriate, values in the summary area can be switched from Flow to Volume using the toggle button. Using the Show Empty Slots toggle, the user can select to show or hide slots that don’t contain any data.
Statistics Information
The following summary statistics are displayed for the highlighted selection: Sum, Average, Minimum, Maximum, and Range.
Miscellaneous
Additional features have been added to the dialog. The selection can now be exported to the clipboard using the Export Copy feature. In addition, the configuration can be saved using the Config ->Save As menu.
Edit Account Dialogs
The Edit Account Dialog was re-implemented in Qt and enhanced for usability as shown in the following screenshot:
Although similar to the old dialog, the updated version has increased usability. The user can choose to show or hide slots that do not contain any data and the order of the columns can be changed. In addition, a datetime spinner was added to allow the user to jump to a specified date. Summary data was added to the bottom of the dialog to show the sum, average, minimum, maximum, and range of the selection. In addition, Export Copy functionality was added to allow the user to export data to the clipboard and then paste it in Excel. As in the old dialog, there is the Flow to Volume toggle and the ability to open the component supplies directly. This is now done by right-clicking and selecting Open Slot.
Water Accounting System Configuration Dialog
The Water Accounting System Configuration dialog was enhanced to allow the user to better configure many accounting slots at one time. Shown in the following screenshot, the user is now able to use check boxes to select the slots they wish to change. If the “Apply Checked/Modified Slot Configurations to All Existing Slots” toggle is checked, then the configuration edits will apply to all of the checked slots and will change existing slots. If it is not checked, any edits will only apply to slots on accounts added in the future. This feature gives the user much more control over the configuration of accounting slots.
Import and Export of Objects and Accounts
It is now possible to import and export objects with their accounts. When exporting, the user is presented with the option to select the type of accounts to export as shown in the following screenshot. Note, when exporting, supplies connecting accounts are not maintained. On import, if an account has the same priority date as an existing account in the model, 1 second is added to the priority date of the imported account and a warning message is posted.
Future solution of Accounts
The user can no longer turn on full-future account solving. Disabling future solving has been occurring for many years now, and is now permanent. Previously, the user could enable full-future account solving using the “--noacctmin” option when invoking riverware.
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 http://cadswes.colorado.edu/users/gnats-query.html and search our bug database. You will need a RiverWare user login and password.
 
38
3839
3905
3948
3958
3968
3969
3971
3973
3974
3978
3979
3980
3981
3982
3983
3984
3985
3986
3988
3990
3991
3992
3993
3994
3995
3997
4001
4004
4007
4008
4009
4010
4013
4014
4016
4017
4018
4019
4020
4023
4024
4025
4027
4028
4029
4030
4033
4034
4035
4037
4043
4045
4046
4048
4050
4051
4052
4053
4055
4056
4057
4058
4060
4061
4063
4064
4065
4068
4069
4071
4072
4075
4076
4077
4078
4079
4082
 
 
 
 
 
 
 
Revised: 06/03/2019