skip to main content
RiverWare Policy Language
Agenda order is not always shown
The agenda order (3,2,1... or 1,2,3...) is only applicable for RBS rulesets, iterative MRM, and optimization goal sets. Thus, a change was made so that the other sets (expression slot sets, accounting method sets, and global function sets) do not even show this setting using the View Show Advanced Properties. Also, for optimization goal sets, the agenda order is shown but must always execute in the 1,2,3... order; it cannot be changed.
Enabled/Disabled Expressions
The display of disabled expressions within RPL dialogs was changed to be cross hatched instead of using a solid color. You can change the color of the cross hatching (and all other display colors) in the RPL Layout dialog, Colors in RiverWare Policy Language (RPL). Also, the semantics of enabling or disabling an expression was modified. Now the toggle menu says “Enabled”; it has a check mark when enabled and no check mark when disabled.
IsInput Predefined Function
The RPL predefined function IsInput(slot, datetime) now will return false if the slot[datetime] is NaN.
Performance
An improvement was made to the caching of RPL expression values during initialization of a run. This improves evaluation time especially for expression slots evaluating at the beginning of the run that call the group of RPL functions that includes SumObjectsAggregatedOverTime, MaxObjectsAggregatedOverTime, etc.
Re-implementation of the List of Rules, Methods, Goals
In RPL sets, the list of blocks (rules, methods, goals) was re-implemented. The following functionality was added:
• Optionally show statements in the tree-view
• Copy/paste uses the system clipboard
• Drag and Drop is more intuitive:
– Drag/Drop between two sets is a copy/paste operation, Drag/Drop within a set is a cut/paste operation
– Dropping an item will append it after that location where it is dropped.
RPL Debugging
A fully functional RPL debugger was added. Now you can pause RPL execution, look at the values of RPL expressions as they are evaluated, and step through RPL execution. A screenshot of this utility is shown while the run was paused in the RPL function to the right. For more information, see RPL Debugger in Debugging and Analysis.
RPL Diagnostics units
For diagnostics that print RPL values and for the RPL debugger, it is now possible to show numeric values in the units specified in the Resource Database (riverwareDB) file. A toggle “User Resource Database Units for Diagnostics” was added to the RPL Parameters. See Units for RPL Diagnostics in Debugging and Analysis for more information.
Save loaded RBS set with model
It is now possible to save the loaded RBS Ruleset and/or the Optimization Goal Set with the model file instead of in a separate file. This behavior is controlled through a setting in the Run Control, View Optimization/Rulebased Simulation Run Parameters dialog.
The toggle Save Loaded RPL Set with Model controls where the set is saved. By default, this toggle is OFF meaning the set is saved in a file external to the model. Checking it ON will save the Loaded set with the model file. When a model file has this toggle ON and it is opened, the RPL set is loaded and then minimized (iconified).
Revised: 07/05/2022