Special Attention Notes and Known Issues
The section describes special attention notes that indicate changes in functionality that require you to update models, cause model results to differ, or display a warning message when you first open a model in RiverWare Version 9.7.
If you have any questions, contact RiverWare Support:
Initialization Rule Assignment Propagation
If series slot values are set directly by RBS rules (R flag) and the slot is linked, the R flag and priority propagate across the link, along with the value, to the slot on the other end. However, when a linked series slot was set by an initialization rule with the R flag, the R flag and priority were not propagating. The slot value on the other end of the link would have the O flag and a priority of zero. This issue was filed as RW-7307.
This has been addressed so that now, for a linked slot set by an initialization rule with the R flag, the behavior is consistent with values set by RBS rules. The R flag and the IR priority will now propagate across the link. (The IR priority associated with values set by an initialization rule is treated as a lower priority than all RBS rules.)
In most cases, the only noticeable model difference is that the value on the other end of the link will have a different flag and priority. However, in some rare cases, this new flag and priority propagation can result in different dispatching behavior, which could result in an error due to a slot being set more than the maximum allowable resets. This change in the dispatching behavior will typically occur only if rules are setting reach or confluence outflows and can usually be resolved by configuring the reach or confluence method selection to solve downstream only. If you observe a failure in your model due to this different dispatching behavior and are unable to resolve the issue, please contact
riverware-support@colorado.edu for assistance.
The behavior for a linked series slot value set by an initialization rule with the Z flag has not changed. The Z flag continues to behave the same as the I flag. The slot value on the other end of the link will have the O flag and a priority of zero.
RPL Data Type Checking
The RiverWare Policy Language (RPL) previously allowed inconsistent data types in the two following cases, filed and addressed as two separate issues.
• RW-7308 identified that data type mismatches in boolean equal-to comparisons were not caught during validation. However, these mismatches were correctly caught as an error during RPL evaluation within a run. Now these data type mismatches will be reported as an error during validation, before the run.
• RW-7317 identified that WITH expressions could allow a local variable to be set with a different data type than was declared. This could occur if the expression for setting the local variable was an item from a list, and thus, its data type could not be determined during validation. Now, if a WITH expression attempts to set a local variable with a different data type than was declared, it will stop with an error.
If either of these fixes result in new errors in your models, you will need to modify your RPL expressions to use the correct and intended data types.
Batch Mode Scripts - Safe-Tcl and Expanded Tcl
The RiverWare Command Language (RCL) for running in batch mode is built on top of the Tool Command Language (Tcl). RCL batch scripts can make use of general Tcl commands to extend the functionality by adding elements such as conditional logic, iterative looping, and so on. In order to minimize security risks, RiverWare now uses “Safe-Tcl” by default when processing RCL scripts. Safe-Tcl prohibits the use of commands that can make changes to the file system, run an executable, or could otherwise introduce a security vulnerability if the script file were maliciously modified. Specifically, Safe-Tcl prohibits the use of the following Tcl commands.
cd | file | pwd |
exec | glob | socket |
exit | load | source |
fconfigure | open | vwait |
If you use a RCL script that includes any of these Tcl commands, you will now get an error. To use the previous full or “Expanded Tcl” you need to include the expandedTcl argument in your command line, for example, adding the --expandedTcl argument at the end:
RiverWare.exe --batch “C:\MyRiverWareFiles\BasinOperationsScript.rcl” --log “C:\MyOutputs\BasinOperationsDiagnostics.txt” --expandedTcl
If your RCL scripts do not include any of these Tcl commands, no changes are required.
See
Safe-Tcl and expandedTcl in Automation Tools for more information on RCL batch scripts and the use of expandedTcl.
Modifications to the Rio Grande Accounting Methods
In the Reservoir Account Gain Loss category, the following methods were modified to now compute the component of evaporation and precipitation that should be allocated to the RioGrande and SanJuan water types:
These methods now compute four new slot values on the reservoir: San Juan Evaporation, San Juan Precipitation, Rio Grande Evaporation, and Rio Grande Precipitation.
In addition, each account with water type RioGrande or SanJuan now contains two new series slots on the accounts: Evaporation and Precipitation. These slots are added by a new category “Evaporation and Precipitation” and method “Show Slots” on the Storage Account.
If you use the above object level accounting methods, you must select the
Show Slots method in the
Evaporation and Precipitation category on every Storage account on the reservoir that has the RioGrande or SanJuan water type or an error will occur at the start of the run. See
Evaporation and Precipitation in Accounting for more information. Use the Multiple Account Method selector to quickly select the method on many accounts. See
Multiple Account Method Selector in Accounting for more information.