skip to main content
General RiverWare
Calling DMIs from rules
It is now possible to execute DMI groups from rules. The user can associate one or two DMI groups with a rule. Whenever the rule is executed, the DMI groups are executed, one as the first step of rule execution, one as the last. Values imported by the pre-execution DMI group are available for use by the rule’s statements. To add the execution of a DMI group, select rule --> add pre-/post-execution DMI group.
An example application of this new feature is executing an external water quality model at each timestep. In this example, the water quality model might take as input RiverWare values which reflect the current state of the system and return a recommended reservoir release value. At each timestep the rule would first execute an output DMI to export current values from relevant RiverWare slot(s), e.g., inflow on a reach. An input DMI then runs the external water quality model (which reads the data from the output DMI) and then imports the resulting recommended reservoir release values.
Modification of the data_date keyword
The behavior of the data_date DMI keyword has been modified as follows: If the data_date is earlier than the slot’s start date (after the start_date keyword has been processed), the slot’s start date is set to the data_date. Similarly, if the data_date is later than the slot’s end date (after the end_date keyword has been processed), the slot’s end date is set to data_date. In either case a diagnostic message is posted.
DMI allows spaces in paths
The DMI now allows spaces in file paths if the user selects the “allow spaces in file paths” option in the DMI editor dialog. Previously the DMI would replace spaces in paths with ‘_’. Note that if users have written their DMI executable to recognize white space as the end of a path, and they begin using spaces in path names, then the executable should be modified.
When all slots are successfully processed by a DMI, an informational diagnostic is generated. Previously this was a warning message. If not all the slots were successfully processed, a warning is still posted.
Batch Mode
Output during batch mode
A new command, Output <outputName>, has been added to the RiverWare Command Language (RCL). The command allows output files to be generated directly from batch mode, so long as the output configuration has already been specified in the Output Manager of the model. Note that Plot Pages cannot be generated. If an Xmgr Data Format File is to be generated, the option to Save to File (rather than Send to Plot Program) must be selected.
Setting user parameters
RCL has been modified to allow the batch script to set user parameters with the following command:
InvokeDMI (dmi name) -UuserParam1=value -UuserParam2=value ...
Multiple user parameters can be set. The parameters and their values must be valid, otherwise the batch script fails. If the model is saved, the parameters and their values are not saved with the model file.
New implementation
The workspace has been reimplemented in Qt with many new features. A brief overview of the new features is provided below. Please see the workspace documentation in the RiverWare help for more details.
• New zooming capabilities magnify objects or zoom out to examine a model in less detail. The zoom features can be accessed by clicking on the zoom buttons on the toolbar or by right-clicking with the mouse on the workspace.
• Context sensitive pop-ups provide information about objects and links when the mouse is “hovered” above the object or link.
• A dockable listview window displays a list of all objects on the workspace. Objects can be listed alphabetically, by object type, etc. The dockable window can be moved to new positions on the workspace or completely detached from the workspace by clicking on the raised grey lines (the handle) of the window and dragging it to a new position.
• The canvas properties: width, height, background color, text color, font, and icon size can be modified in the new Canvas Configuration Dialog by selecting Workspace Canvas Properties or by right-clicking with the mouse on the workspace.
• Right-clicking on a link, an object, the workspace, etc. provides pop-up context menus for options such as adding/deleting links, opening/adding/ deleting objects, zooming etc.
• The entire workspace image can be printed by selecting File Print.
Run Control Dialog
New implementation
The Run Control dialog has been reimplemented in the Qt GUI interface. After changing the run start/end date, users must click a green check mark to accept or red x mark to cancel the changes before the run can be started.
Multiple Run Management
The Multiple Run Management (MRM) dialog has been reimplemented in Qt and has many new features. These new features are described briefly below. For more detail, see the MRM documentation in the RiverWare help.
Multiple configurations
The MRM now supports multiple configurations contained in one model file. The Multiple Run Control dialog opens with a list of the configurations saved with the model file. Users must select the desired configuration to edit or run it. This flexibility could be useful for models in which users may want to run an MRM run with two or three different rulesets.
Output to multiple files
It is now possible to send the output from a MRM run to multiple files, potentially one file for each slot. To do this, users can modify the output control file using the standard DMI syntax: object.slot file=fileName. Previously, the output from a MRM file was always in the form of a RiverWare Data Format (RDF) file which could be used with ExcelWriter.
Output DMI after each run
It is now possible to run an output DMI after each MRM run. This works like a normal DMI, e.g., outputting one file per slot rather than a combined RDF file.
Providing trace number to input/output DMIs
When running multiple traces in MRM, it is now no longer necessary to write an input (or output) DMI for each trace when the only difference in the DMIs is the trace number. To make use of this new feature, the DMI executable can reference the last command line parameter passed from RiverWare: -STrace=traceNumber.
Portable MRM configurations
It is now possible to use environment variables when specifying a policy set, thus allowing portability across machines. To use an environment variable, users can directly type in the path to the policy set rather than using the file chooser.
Classic configuration or Lite configuration
In the default MRM configuration (now called Classic), MRM runs execute once for each combination of each DMI with each index sequential or concurrent run. With the Lite configuration, MRM runs execute once for each DMI-index sequential/concurrent run pair. The Lite configuration is needed to run the CRSS Lite model.
DMIs can be a DMI group
MRM can now call DMI groups. If a DMI group is called during MRM, all the DMIs in the group must be input DMIs or all must be output DMIs.
Improved table interpolation diagnostics
The diagnostics for table interpolations have been improved. When an interpolation fails, RiverWare now posts a diagnostics which describes the slot name, date (when applicable), and value that was used for the failed interpolation.
CLEAR_STATE and RESET_STATE diagnostics removed
The CLEAR_STATE and RESET_STATE diagnostics have been removed from Simulation. These messages were deemed excessive and not useful.
Table Slots
Configuring Units
It is now possible to configure the user units for all columns of a table slot at the same time. (This functionality already exists on AggSeriesSlots and other columnar slots.)
Expression Slots
Display of RPL expression
The RPL expression in an expresison slot is now only displayed if the expression is currently invalid. Selecting View->Show Expression (Alt+Shift+S) will display / hide the RPL expression.
Values in slots evaluated “Never” or “Only Interactively” not cleared
Values in RPL expression slots which are evaluated “Never” or “Only Interactively” are now no longer cleared at the beginning of a new run. Previously these values were always cleared and would remain cleared until the user interactively evaluated the slot. Users should be aware that values in an expression slot evaluated “Never” or “Only Interactively” could be the result of a previous run, i.e., the run after which the slot was evaluated.
Export Copy
The Export Copy function of the SCT now supports optional inclusion of displayed (non-hidden) row header fields associated with the cells selected for Export Copy. This option is available by first selecting several cells, then selecting Export Copy from the Edit menu, then in the resulting Export to Clipboard dialog toggling the ‘Include Row Headers’ box.
Go To Feature
The SCT now has a new ‘Go To’ feature which allows the user to find a slot in the SCT and “jump” to that position in the SCT. By selecting Go To Find Slot..., the user can search for a slot in two ways: by searching for a slot beginning with a specified string, or by searching for a slot that matches a given wildcard pattern (i.e. *Inflow*). If dividers have been added to the SCT, the user can jump to the slot following each of the specified dividers.
Full conversion to new SCT (2.0)
In completing the migration to the new SCT, it is now no longer possible to create an old style (1.0) SCT. Now when users select SCT -> New SCT... the new version (2.0) of the SCT is automatically created. When 1.0 version SCTs are loaded and saved they are automatically converted to the 2.0 version SCT.
No display of hours in timesteps of days or longer
The SCT no longer displays the hours for models with a timestep of days or longer. This is valid because for daily and larger timesteps the hours are always aligned at midnight (24:00).
Model File Information
Model File Timestamp
RiverWare model file timestamps are now updated each time the model file is saved, rather than the first time after the model file is loaded.
Model Save Backups
Backups of previous RiverWare versions automatically created
Previously RiverWare always used the ".bak" suffix; now it uses the old version number when a model file is saved with a new version for the first time. For example, when model.gz-, last saved with version 4.5- is saved with version 4.6, the backup name will be model.4.5.gz (rather than model.bak.gz). This ensures there will be a model file compatible with version 4.5 until the user explicitly removes it.
RiverWare Policy Language (RPL) Editor
RPL editor dialogs reimplemented in Qt
The RPL editor dialogs have been reimplemented in Qt with several new enhancements. These changes are described briefly below. Additional detail is available in the Ruleset Editor Dialog documentation in the RiverWare help.
• Context sensitive menus (menus specific to the area in which you clicked) pop up with a right mouse click.
• View -> Disable Mouse Edits disables the ability to turn rules on and off by clicking on the rule and also disables the ability to edit the name of a rule directly in the RPL Set Editor.
• Execution constraints other than “Execute only when TRUE” will be shown by default. Otherwise this section of the rule editor will be hidden and can be accessed by selecting View -> Execution Constraints.
• Rule descriptions are by default hidden. View the rule descriptions by selecting View -> Show Description from the rule editor, or by selecting View -> Show Selected Description for the main RPL set dialog to toggle through descriptions of every rule or function in the RPL set.
• View -> Close Other Editors closes all other RPL boxes besides the main RPL editor and the current dialog.
• View -> Expand/Collapse All Groups expands/collapses groups to show/hide all rules and functions
Multiple Object/ Slot/ Account Selector
Multiple Object/Slot/ Account Selector updated in Qt
RiverWare 4.6 includes the initial implementation of the new Qt "Grand Unified Selector" for the selection of Simulation Objects, Physical Slots, and Accounts. All former uses of the old Galaxy-implemented Multiple Object and Multiple Slot selectors are replaced by this new selector, including within the SCT, Diagnostics Settings dialogs, Output Configuration Manager, Snapshot Manager, Multiple Object Method Selector, Edit (user-defined) SubBasins manager, Supplies Manager, Scenario Manager, MRM Slot Store, and the Reservoir Selector (e.g. for ListSlots on the Control Point object).
New features include:
• For Slot selection, the ability to select individual columns of AggSeries, TableSeries, and Table Slots (if appropriate for the particular selection)
• Filtering of presented items, with either inclusion or exclusion of the matching items, by:
– Name wildcard-match (SimObj, Slot, or Account).
– SimObj "has Account" (any, or a single selected Account)
– SimObj inclusion in a user-defined SubBasin (any, or a single selected SubBasin)
– Slot Unit Type (e.g. "Flow", "Area", etc.)
– Slot Type (e.g. "Series", "AggSeries", "Expression", ...)
– Slot Attributes ("Dispatch" or "RBS Governing").
– Account Type
– Account Water Type
– Account Water Owner
Sedmtr file
sedmtr file updated
The sedmtr file that is packaged with RiverWare releases for use with CRSS has been extended by copying the first 15 simulations to the end of the file. This extension allows MRM to now perform 100 simulations for CRSS.
Revised: 08/02/2021