Required Model File Updates
Sequential Linking on AggDiversionSite
Users moving from RiverWare 2.1 or earlier must make the following changes for models using the sequential linking structure on the Aggregate Diversion Site object (changes have already been incorporated in RiverWare 2.1.1, 2.1.2 and 2.1.3. Users of these versions may disregard this notice):
1. The Total Unused Water slot must be linked to the Return Flow slot on the object from which water is being diverted.
2. The link between Total Available Water and the Incoming Available Water slot on the first Water User element must be removed.
If a large number of objects require these changes, ModelConvert_2.2 (located in the same directory as the RiverWare executable) can automatically perform the tasks.
Muskingum Routing on Reaches
Models using the muskingumRouting method on Reach objects must use the Input K and X Values method in the Routing Parameters method category. Users of the variable Muskingum Routing method should note that this method has been automatically changed to muskingumRouting. This is due to the creation of a new method category, Routing Parameters, which eliminates the need for the variable Muskingum Routing method.
Time Lag Reaches
TimeLagRouting on Reach objects now accommodates monthly lag times. This change requires the following:
1. If the timestep is monthly the lag time must be in months.
2. If the timestep is not monthly the lag time cannot be in months.
Variable Time Lag Routing
The variable TimeLagRouting method on Reach objects was modified to calculate Variable Lag Time using 3-D table interpolation. This requires only one table slot, the Variable LagTime Table (older models required four slots for this calculation: Date Range, Flow Range, Number of Seasons and Variable Lag Time Table). Models using this method need to add data to this new slot. The old slot used in this method, Variable Lag Time Table, no longer exists. This is conveyed by use of a warning message posted during model loading. More information about these changes can be found under the Reach heading below.
Seasonal GainLoss on Reaches
The Date Range slot on the Reach object has been changed to allow a range of days from 1 - 366 rather than the 0 - 365 range found in earlier versions of RiverWare. To obtain the same results, models using the Date Range table slot in the Seasonal GainLoss Flow Table method in the GainLoss Calculation category will need to add 1 to each value in the Date Range slot.
Pumped Storage Object
A new slot, Pumped Flow, was added to the Pumped Storage object. Models using this object must delete the link between the Reservoir object’s Flow TO Pumped Storage slot and the Pumped Storage object’s Inflow slot. This link must be replaced by a new link between Flow TO Pumped Storage and the new Pumped Flow slot. In addition, the Inflow slot (a required known) needs to be set to zero to achieve the same results.
Conjunctive Use on Water Users and AggDiversionSites
The Maximum (Total) Supplemental Request slots on Water User and lumped AggDiversionSite objects are now dependent on a method selected in the Maximum Supplemental Request category. If using these slots, the user must select the Input Maximum Request method in the Maximum Supplemental Request category (which is dependent on the Supplement Diversion method of the Conjunctive Use calculation category) to get the same model results.
Future Value Calculations
The calculateFutureValue method in the FutureValueCalcCategory on Reservoir and Pumped Storage objects has been altered to use a different set of slots. The Future Value of Water slot has been replaced by a slot called Marginal Storage Value Table. The calculation of Spill Cost and Future Value of Used Energy use this new slot. Models using the calculateFutureValue method must assign values to the Marginal Storage Value Table to avoid a table interpolation error.
Lumped Linking on AggDiversionSites
AggDiversionSites operating under the Lumped linking structure no longer set the Total Diversion Requested to 0.0 by default. All existing models that were using this default must now input zeros for the models to run correctly.