skip to main content
RiverWare Policy Language
The following changes have been made to the RiverWare Policy Language (RPL).
RPL Function Min and Max Constraints
RPL user-defined functions can include minimum and maximum constraints on the function’s return value (see Constraints on Functions in RiverWare Policy Language (RPL). These constraints are applied in order when a function executes. In some contexts, this can lead to unintended behavior especially if the Min Constraint is greater than the Max Constraint. The evaluation process was enhanced to track the legal interval as constraints are applied, and an error is posted if the constraints are not all simultaneously satisfiable; that is, an error is posted if the constraints are infeasible.
Table Interpolation Changes
The following RPL predefined functions operate on a table slot to do interpolation and lookup:
Previously these functions returned an error if any invalid values (NaNs) were encountered in the input table. They have been modified to silently ignore invalid values at the bottom of the input table slot.
Time Invariant Functions
Previously time-invariant function return values were cached and re-used within a run for Rulebased Simulation sets. Now they are cached and re-used within the following additional contexts:
• Within the evaluation of a single series expression slot
• Within run initialization for Initialization Rules
Improved Formatting of Print/Warning/Alert/Notice Statement Diagnostics
RPL Print Statements are formatted better to show commas in large numbers.
RPL Literal Value Validation
See the important note on RPL Literal Value Validation in RPL Literal Value Validation.
Revised: 06/04/2023