Model Loading
Ruleset Loading
Rulesets now have file versioning so that ruleset files can be matched with model files. This allows RiverWare see which release was last used to save the ruleset. The first time a ruleset is loaded into RiverWare Release 4.1, RiverWare will not recognize the ruleset version (because an existing ruleset will not have one yet) and the user will see the following RiverWare notice.
Even though the dialog box says that the file cannot be recognized as a RiverWare ruleset, it will recognize it when the Continue button is clicked. Then, once the ruleset is saved in the new release, it will have a version number and you will not see this message again.
Name Conflicts in Rulesets
Several new predefined functions have been added to the rules palette. Since these are very general functions, and have very general names, there is a possibility for naming conflicts with existing rulesets. For example, one of the new functions is call “Sum”. If an existing ruleset contains a user defined function or variable called “Sum”, the ruleset will not load in the new release. The user will get an error message when loading the ruleset. The message explains exactly where the conflict is located. In order to load the ruleset in the new release, the user will need to modify the ruleset to alleviate the conflict. This is done by changing the name of the user defined function or variable.
Unit Changes
Enhancements were made to the way RiverWare handles units. Part of this enhancement includes a more rigorous method of enforcing valid units and unit types. As a result of this change, it was noticed that some older models have slots that have either invalid units or invalid unit types. When RiverWare encounters these slots, it resets the units and prints the following warning message when loading the model:
Invalid <unit type> units “old units” changed to “new units”.
If a slot has invalid units, and it has gone undetected by the user this long, then most likely this is a slot that is not used in modeling (and therefore probably doesn’t contain any values). In that case, the warning message can be ignored. However, it is probably safest to look at the slot mentioned in the warning and verify that the units and unit type are now correct.
Reach GainLoss with Time Lag Routing
Two of the GainLoss Calculation methods on the Reach object, Seasonal GainLoss Flow Table and Interpolated Flow GainLoss, are no longer valid methods when Time Lag Routing is the selected routing method on the reach. The reason for this change is that it is impossible to get the same answers solving upstream and downstream when using Time Lag Routing with one of these loss methods. Therefore, we disabled these two methods when Time Lag Routing is selected. If an existing model has a reach with both Time Lag Routing and one of the two loss methods mentioned above, RiverWare will give the following warning message when loading the model in the 4.1 release: “The <loss method name> method is no longer available when using timeLagRouting. You will need another reach to do the Gain Loss calculations. ...” If this happens, the GainLoss method on the reach in question will be changed to No GainLoss. You will need to create a separate reach object to do the Gain Loss calculations.
Some “SeriesSlots” changed to “AggSeriesSlots”
Some SeriesSlots have been converted to AggSeriesSlots. When loading old models, diagnostics messages may be generated as old slot types are automatically converted to new slot types:
Trying to convert former slot type (“SeriesSlot”) to new slot type (“AggSeriesSlot”).
Do not be concerned by these messages. You do not need to make any changes to your model. The use and functionality of these slots has not changed.