skip to main content
Release Notes Version 4.6
Release Notes Version 4.6
Special Attention Notes
If the text or graphics in this file are not clear, you may need to print this document. Resolution should improve on the printed page.
Full conversion to new SCT (2.0)
In completing the migration to the new SCT, it is now no longer possible to create an old style (1.0) SCT. Now when users select SCT -> New SCT... the new version (2.0) of the SCT is automatically created. When 1.0 version SCTs are loaded and saved they are automatically converted to the 2.0 version SCT.
Flags set by rules
Whenever a rule sets the Drift, Max Capacity, or Best Efficiency flag on a slot, RiverWare now requires that object to dispatch immediately. This is the usual behavior, but if it does not occur, RiverWare will post an error message and abort. Users should be able to resolve this error by reordering rules or restructuring the rule logic.
Partition BW Elevation method changed to Weighting Coefficients method
The Slope Partition category and the Partition BW Elevation method on the Slope Power Reservoir have been removed and replaced by the Slope Storage Coefficients category and the Weighting Coefficients method. Users with models in which the Partition BW Elevation method was selected will have to select the Weighting Coefficients method the first time the model is loaded. Also, any user input slot data related to the Partition BW Elevation method will have to be re-imported into the Weighting Coefficients method’s slots. All slot names have remained the same.
Hydro Capacity slot on Inline Power object
The Hydro Capacity slot on the Inline Power object is now only available and computed if a power method is selected.
Check Iterations
Check Iterations is now always enabled during rulebased simulation. Check Iterations checks the number of times a slot is set during one timestep and is used to detect infinite loops. Previously, having ‘check iterations’ turned on slowed down model performance. Now there is no decrease in performance when Check Iterations is turned on.
RPL Expression Slots
Values in RPL expression slots which are evaluated “Never” or “Only Interactively” are now no longer cleared at the beginning of a new run. Previously these values were always cleared and would remain cleared until the user interactively evaluated the slot. Users should be aware that values in an expression slot evaluated “Never” or “Only Interactively” could be the result of a previous run, i.e., the run after which the slot was evaluated.
General RiverWare
DMI
Calling DMIs from rules
It is now possible to execute DMI groups from rules. The user can associate one or two DMI groups with a rule. Whenever the rule is executed, the DMI groups are executed, one as the first step of rule execution, one as the last. Values imported by the pre-execution DMI group are available for use by the rule’s statements. To add the execution of a DMI group, select rule --> add pre-/post-execution DMI group.
An example application of this new feature is executing an external water quality model at each timestep. In this example, the water quality model might take as input RiverWare values which reflect the current state of the system and return a recommended reservoir release value. At each timestep the rule would first execute an output DMI to export current values from relevant RiverWare slot(s), e.g., inflow on a reach. An input DMI then runs the external water quality model (which reads the data from the output DMI) and then imports the resulting recommended reservoir release values.
Modification of the data_date keyword
The behavior of the data_date DMI keyword has been modified as follows: If the data_date is earlier than the slot’s start date (after the start_date keyword has been processed), the slot’s start date is set to the data_date. Similarly, if the data_date is later than the slot’s end date (after the end_date keyword has been processed), the slot’s end date is set to data_date. In either case a diagnostic message is posted.
DMI allows spaces in paths
The DMI now allows spaces in file paths if the user selects the “allow spaces in file paths” option in the DMI editor dialog. Previously the DMI would replace spaces in paths with ‘_’. Note that if users have written their DMI executable to recognize white space as the end of a path, and they begin using spaces in path names, then the executable should be modified.
Diagnostics
When all slots are successfully processed by a DMI, an informational diagnostic is generated. Previously this was a warning message. If not all the slots were successfully processed, a warning is still posted.
Batch Mode
Output during batch mode
A new command, Output <outputName>, has been added to the RiverWare Command Language (RCL). The command allows output files to be generated directly from batch mode, so long as the output configuration has already been specified in the Output Manager of the model. Note that Plot Pages cannot be generated. If an Xmgr Data Format File is to be generated, the option to Save to File (rather than Send to Plot Program) must be selected.
Setting user parameters
RCL has been modified to allow the batch script to set user parameters with the following command:
InvokeDMI (dmi name) -UuserParam1=value -UuserParam2=value ...
Multiple user parameters can be set. The parameters and their values must be valid, otherwise the batch script fails. If the model is saved, the parameters and their values are not saved with the model file.
Workspace
New implementation
The workspace has been reimplemented in Qt with many new features. A brief overview of the new features is provided below. Please see the workspace documentation in the RiverWare help for more details.
• New zooming capabilities magnify objects or zoom out to examine a model in less detail. The zoom features can be accessed by clicking on the zoom buttons on the toolbar or by right-clicking with the mouse on the workspace.
• Context sensitive pop-ups provide information about objects and links when the mouse is “hovered” above the object or link.
• A dockable listview window displays a list of all objects on the workspace. Objects can be listed alphabetically, by object type, etc. The dockable window can be moved to new positions on the workspace or completely detached from the workspace by clicking on the raised grey lines (the handle) of the window and dragging it to a new position.
• The canvas properties: width, height, background color, text color, font, and icon size can be modified in the new Canvas Configuration Dialog by selecting Workspace Canvas Properties or by right-clicking with the mouse on the workspace.
• Right-clicking on a link, an object, the workspace, etc. provides pop-up context menus for options such as adding/deleting links, opening/adding/ deleting objects, zooming etc.
• The entire workspace image can be printed by selecting File Print.
Run Control Dialog
New implementation
The Run Control dialog has been reimplemented in the Qt GUI interface. After changing the run start/end date, users must click a green check mark to accept or red x mark to cancel the changes before the run can be started.
Multiple Run Management
The Multiple Run Management (MRM) dialog has been reimplemented in Qt and has many new features. These new features are described briefly below. For more detail, see the MRM documentation in the RiverWare help.
Multiple configurations
The MRM now supports multiple configurations contained in one model file. The Multiple Run Control dialog opens with a list of the configurations saved with the model file. Users must select the desired configuration to edit or run it. This flexibility could be useful for models in which users may want to run an MRM run with two or three different rulesets.
Output to multiple files
It is now possible to send the output from a MRM run to multiple files, potentially one file for each slot. To do this, users can modify the output control file using the standard DMI syntax: object.slot file=fileName. Previously, the output from a MRM file was always in the form of a RiverWare Data Format (RDF) file which could be used with ExcelWriter.
Output DMI after each run
It is now possible to run an output DMI after each MRM run. This works like a normal DMI, e.g., outputting one file per slot rather than a combined RDF file.
Providing trace number to input/output DMIs
When running multiple traces in MRM, it is now no longer necessary to write an input (or output) DMI for each trace when the only difference in the DMIs is the trace number. To make use of this new feature, the DMI executable can reference the last command line parameter passed from RiverWare: -STrace=traceNumber.
Portable MRM configurations
It is now possible to use environment variables when specifying a policy set, thus allowing portability across machines. To use an environment variable, users can directly type in the path to the policy set rather than using the file chooser.
Classic configuration or Lite configuration
In the default MRM configuration (now called Classic), MRM runs execute once for each combination of each DMI with each index sequential or concurrent run. With the Lite configuration, MRM runs execute once for each DMI-index sequential/concurrent run pair. The Lite configuration is needed to run the CRSS Lite model.
DMIs can be a DMI group
MRM can now call DMI groups. If a DMI group is called during MRM, all the DMIs in the group must be input DMIs or all must be output DMIs.
Diagnostics
Improved table interpolation diagnostics
The diagnostics for table interpolations have been improved. When an interpolation fails, RiverWare now posts a diagnostics which describes the slot name, date (when applicable), and value that was used for the failed interpolation.
CLEAR_STATE and RESET_STATE diagnostics removed
The CLEAR_STATE and RESET_STATE diagnostics have been removed from Simulation. These messages were deemed excessive and not useful.
Table Slots
Configuring Units
It is now possible to configure the user units for all columns of a table slot at the same time. (This functionality already exists on AggSeriesSlots and other columnar slots.)
Expression Slots
Display of RPL expression
The RPL expression in an expresison slot is now only displayed if the expression is currently invalid. Selecting View->Show Expression (Alt+Shift+S) will display / hide the RPL expression.
Values in slots evaluated “Never” or “Only Interactively” not cleared
Values in RPL expression slots which are evaluated “Never” or “Only Interactively” are now no longer cleared at the beginning of a new run. Previously these values were always cleared and would remain cleared until the user interactively evaluated the slot. Users should be aware that values in an expression slot evaluated “Never” or “Only Interactively” could be the result of a previous run, i.e., the run after which the slot was evaluated.
SCT
Export Copy
The Export Copy function of the SCT now supports optional inclusion of displayed (non-hidden) row header fields associated with the cells selected for Export Copy. This option is available by first selecting several cells, then selecting Export Copy from the Edit menu, then in the resulting Export to Clipboard dialog toggling the ‘Include Row Headers’ box.
Go To Feature
The SCT now has a new ‘Go To’ feature which allows the user to find a slot in the SCT and “jump” to that position in the SCT. By selecting Go To Find Slot..., the user can search for a slot in two ways: by searching for a slot beginning with a specified string, or by searching for a slot that matches a given wildcard pattern (i.e. *Inflow*). If dividers have been added to the SCT, the user can jump to the slot following each of the specified dividers.
Full conversion to new SCT (2.0)
In completing the migration to the new SCT, it is now no longer possible to create an old style (1.0) SCT. Now when users select SCT -> New SCT... the new version (2.0) of the SCT is automatically created. When 1.0 version SCTs are loaded and saved they are automatically converted to the 2.0 version SCT.
No display of hours in timesteps of days or longer
The SCT no longer displays the hours for models with a timestep of days or longer. This is valid because for daily and larger timesteps the hours are always aligned at midnight (24:00).
Model File Information
Model File Timestamp
RiverWare model file timestamps are now updated each time the model file is saved, rather than the first time after the model file is loaded.
Model Save Backups
Backups of previous RiverWare versions automatically created
Previously RiverWare always used the ".bak" suffix; now it uses the old version number when a model file is saved with a new version for the first time. For example, when model.gz-, last saved with version 4.5- is saved with version 4.6, the backup name will be model.4.5.gz (rather than model.bak.gz). This ensures there will be a model file compatible with version 4.5 until the user explicitly removes it.
RiverWare Policy Language (RPL) Editor
RPL editor dialogs reimplemented in Qt
The RPL editor dialogs have been reimplemented in Qt with several new enhancements. These changes are described briefly below. Additional detail is available in the Ruleset Editor Dialog documentation in the RiverWare help.
• Context sensitive menus (menus specific to the area in which you clicked) pop up with a right mouse click.
• View -> Disable Mouse Edits disables the ability to turn rules on and off by clicking on the rule and also disables the ability to edit the name of a rule directly in the RPL Set Editor.
• Execution constraints other than “Execute only when TRUE” will be shown by default. Otherwise this section of the rule editor will be hidden and can be accessed by selecting View -> Execution Constraints.
• Rule descriptions are by default hidden. View the rule descriptions by selecting View -> Show Description from the rule editor, or by selecting View -> Show Selected Description for the main RPL set dialog to toggle through descriptions of every rule or function in the RPL set.
• View -> Close Other Editors closes all other RPL boxes besides the main RPL editor and the current dialog.
• View -> Expand/Collapse All Groups expands/collapses groups to show/hide all rules and functions
Multiple Object/ Slot/ Account Selector
Multiple Object/Slot/ Account Selector updated in Qt
RiverWare 4.6 includes the initial implementation of the new Qt "Grand Unified Selector" for the selection of Simulation Objects, Physical Slots, and Accounts. All former uses of the old Galaxy-implemented Multiple Object and Multiple Slot selectors are replaced by this new selector, including within the SCT, Diagnostics Settings dialogs, Output Configuration Manager, Snapshot Manager, Multiple Object Method Selector, Edit (user-defined) SubBasins manager, Supplies Manager, Scenario Manager, MRM Slot Store, and the Reservoir Selector (e.g. for ListSlots on the Control Point object).
New features include:
• For Slot selection, the ability to select individual columns of AggSeries, TableSeries, and Table Slots (if appropriate for the particular selection)
• Filtering of presented items, with either inclusion or exclusion of the matching items, by:
– Name wildcard-match (SimObj, Slot, or Account).
– SimObj "has Account" (any, or a single selected Account)
– SimObj inclusion in a user-defined SubBasin (any, or a single selected SubBasin)
– Slot Unit Type (e.g. "Flow", "Area", etc.)
– Slot Type (e.g. "Series", "AggSeries", "Expression", ...)
– Slot Attributes ("Dispatch" or "RBS Governing").
– Account Type
– Account Water Type
– Account Water Owner
Sedmtr file
sedmtr file updated
The sedmtr file that is packaged with RiverWare releases for use with CRSS has been extended by copying the first 15 simulations to the end of the file. This extension allows MRM to now perform 100 simulations for CRSS.
RiverWare Viewer
RiverWare Viewer is a "read-only" version of RiverWare. This version of RiverWare is available at no cost to those who would like to view the output of model runs, but do not need to build, modify or run models themselves.
Current license holders do not need a new license to run RiverWare Viewer. Full RiverWare license holders can download the RiverWare 4.5 Release and run and examine RiverWare Viewer through the command line by typing:
riverware --viewer
Stakeholders and other parties interested in using only the RiverWare Viewer can download it for free from the CADSWES web pages. Information and instructions are provided on the RiverWare Viewer web page:
http://cadswes.colorado.edu/riverware/viewer/
RiverWare Viewer users must contact CADSWES directly for the free license file. In future releases, this process will be automated through the CADSWES web pages.
Scenario Manager
The Scenario Manager is a new tool that allows for editing only a small portion of a RiverWare model to test various scenarios without affecting the integrity of a baseline model. A brief overview of the Scenario Manger is provided in this document. The user is encouraged to consult the Scenario Manager documentation in the RiverWare help for a more details.
The Scenario Manager provides the capability to create a baseline model that cannot be altered by other users. The creator of the baseline model can specify a set of slots for which values may be changed by a different user to test various scenarios. Models can be viewed and run using these various scenario values without corrupting the values in the baseline model. The Scenario Manager provides a convenient interface to load, edit, and save values for these slots, run the model using these different slot values, and compare the baseline values with the scenario values. The key components of the Scenario Manger are desecribed below:
Creation of a baseline model
A baseline model must be generated before any scenarios can be created. The baseline model is generated by saving an existing model, with or without a ruleset, as a baseline model. Once a model has been saved as a baseline model, model topology, methods, rulesets, and non-scenario slots become uneditable.
Creation of a scenario slot list
The creator of the baseline model specifically sets which slots can be manipulated by other users to generate new scenarios. This list cannot be edited other than changing input values by scenario users. New scenarios to test permutations of the model can only use the slots specified in the scenario slot list, and all input values must fall within the minimum or maximum constraints (if any) set on the slot.
Creating, editing, and running scenarios
Once the baseline model with scenario slot list has been created, other users can create, edit, and run scenarios of the baseline model. The scenario users first create a scenario by providing alternative data for slots in the scenario slot list and saving the scenario. The scenario can then be run using the new data.
Comparing scenario runs
The Scenario Manager allows for comparisons between slots in the baseline scenario run and various scenario runs or between slots in the various scenario runs. Comparisons are managed through the Snapshot Manager and the Output Manager.
Simulation Objects
The following enhancements to the RiverWare simulation objects are described briefly. The user is encouraged to consult the Simulation Objects Documentation in the RiverWare help for more detailed descriptions of the enhancements to the objects and their methods.
Computational Subbasin
Mead Flood Control Method
The Mead Flood Control method has been added to the Computational Subbasin. This method was developed for the CRSS-Lite annual timestep model and cannot be used with other models. The method is used for annual flood control calculations on Lake Mead. A series of CRSS-Lite slots and objects, identified by name and type, must exist on the workspace and be members of the computational subbasin for the subbasin analysis to succeed.
Reservoir Objects
Monthly Evap Calc Annual Timestep Method
A new evaporation method, MonthlyEvapCalcAnnualTimestep, has been added to all reservoir objects. This method calculates evaporation on an annual timestep using monthly coefficients and was developed for use with the CRSS-Lite model. This method is general enough to be used with any annual timestep model that has monthly evaporation coefficients.
Storage Reservoir
Tailwater Calculation Category
The Tailwater Calculation category has been added to the Storage Reservoir. A single method, Input Tailwater Elevation, was added to the category. This method is used if the tailwater elevation is linked to the downstream reservoir pool elevation or directly input by the user. There are no tailwater elevation calculations associated with this method. In other words, the outflow does not affect the tailwater elevation other than by changing the downstream pool elevation. When the tailwater elevation is above the tailwater reference elevation, the effective head is used to compute the max release via the ‘Head Vs Max Release’ table. Otherwise, the max release is calculated using the average Pool Elevation and the Max Release table. The following slots are associated with this method: Tailwater Elevation, Tailwater Reference Elevation, Effective Head, and Head Vs. Max Release.
Slope Power Reservoir
Slope Storage Coefficients Category
A new method category, the Slope Storage Coefficients category, has been added to the Slope Power Reservoir. The category contains two methods: Impulse Response Coefficients and Weighting Coefficients. The Impulse Response Coefficients method is the default and calculates segment and reservoir storage in the previously existing manner. The Weighting Coefficients method uses weighting coefficients to calculate the segment and reservoir storage. When the Weighting Coefficients method is selected, the reservoir can be divided into longitudinal partitions and the steady flow through each partition (intermFlowParams) is calculated. The flow parameter at each partition is then used in a 3-D table interpolation to find the backwater elevation at each of the partitions. This method replaces the Slope Partition Category and Partition BW Elevation method. Existing models that used the Partition BW Elevation method must be updated by selecting the Weighting Coefficients method and reimporting data into the method dependent table slots. The Weighting Coefficients method works with both simulation and optimization.
Inline Power Reservoir
Computation of Hydro Capacity
The Hydro Capacity slot that is used in optimization was previously being computed/linearized as Maximum Turbine Release times the Power Plant Capacity Fraction. This flow value is now converted to power using the Flow Power Table. This is done for both simulation and optimization. Also, because optimization now calculates the Hydro Capacity at the beginning of the run, this removes the need to linearize Hydro Capacity and it is now a SeriesSlot instead of a AggSeriesSlot. Note that Hydro Capacity is now only available and computed if a power method is selected.
Bifurcation Object
Fractionally Split Outflows method
A new method category, Outflow Calculation, has been added to the bifurcation object. This category contains two methods: Two Outflows and Fractionally Split Outflows. The Two Outflows method is the default and solves exactly as the bifurcation did previously. The Fractionally Split Outflows method allows users to split the outflow into multiple outflow destinations (e.g., more than two). The Split Outflows slot is a nocompute multislot in which each subslot represents one outflow from the bifurcation object. The Outflow Fractions Table is used to calculate what fraction of the total outflow is proportioned to each Split Outflows subslot. When the Fractionally Split Outflows method is selected, the inflow must be known for the Bifurcation object to solve. The Fractionally Split Outflows method is not available for use with optimization.
Solve Downstream Only method
A new method, Solve Downstream Only, allows users to specify that the bifurcation object always solves in the downstream direction (i.e., solve for outflow given inflow). This method can be useful in rulebased simulation models where rule priorities can cause the object to dispatch in different directions, potentially causing problems. This method is available from the Bifurcation Solution Direction category. The default method in this category, Solve Upstream or Downstream, allows the object to solve in the previous manner.
Rulebased Simulation
Calling DMIs from rules
It is now possible to execute DMI groups from rules. The user can associate one or two DMI groups with a rule. Whenever the rule is executed, the DMI groups are executed, one as the first step of rule execution, one as the last. Values imported by the pre-execution DMI group are available for use by the rule’s statements. To add the execution of a DMI group, select rule --> add pre-/post-execution DMI group. (See the General RiverWare section above for an example application of this new feature.)
Flags set by rules
Whenever a rule sets the Drift, Max Capacity or Best Efficiency flag on a slot, RiverWare now requires that object to dispatch immediately. If it does not, RiverWare will post an error message and abort. Users should be able to resolve this error by reordering rules or restructuring the rule logic.
Check Iterations
‘Check Iterations’ is now always enabled during rulebased simulation. ‘Check Iterations’ checks the number of times a slot is set during one timestep and is used to detect infinite loops. Previously, having check iterations turned on slowed down model performance. Now there is no decrease in performance when Check Iterations is turned on.
Rules Palette Predefined Functions
Following is a brief description of new predefined functions and changes to existing predefined functions available for use in the RiverWare Policy Language. Details on the use of these functions and the syntax involved are available in the Rulebased Simulation Documentation in the RiverWare help.
RunStartDate()
RunEndDate()
These functions return the start or end date of the currently active controller.
NumColumns (SLOT tableSlot/periodicSlot)
NumRows (SLOT tableSlot/periodicSlot)
These functions return the number of columns or rows in a table slot or periodic slot. If the slot is not a table slot or periodic slot, the run is aborted with an error message.
TableLookup (SLOT tableSlot, NUMERIC lookupColumn, NUMERIC returnColumn, NUMERIC lookupValue, DATETIME referenceDate, BOOLEAN roundDown)
This function looks up a value in a specified column of a TableSlot, finding the row whose value is closest to the lookup value and smaller/larger as specified by an argument, and returns the value in that row of the specified column.
SovleMonthlyStorageAnnualTimestep(OBJECT reservoir, SLOT res inflow, SLOT res outflow, SLOT res previous storage, DATETIME month at which to do the calculation)
This function solves for a monthly storage value in an annual timestep model. The function was developed for use with the CRSS-Lite model but is general enough for use in any annual timestep model.
SolveMonthlyOutflowAnnualTimestep(OBJECT reservoir, SLOT res inflow, SLOT res storage, SLOT res previous storage, DATETIME month at which to do the calculation)
This function solves for a monthly outflow value in an annual timestep model. The function was developed for use with the CRSS-Lite model but is general enough for use in any annual timestep mode.
MeadFloodFontrol(STRING name of subbasin, DATETIME current timestep, SLOT previous Powell storage, SLOT current Powell storage, SLOT previous Mead storage, NUMERIC flood control release month index)
This function invokes the Mead Flood Control user method on the computational subbasin and returns the current storage in Mead. The function can only be used with the CRSS-Lite model because it requires that certain objects and slots, identified by name, be part of the model and computational subbasin.
SupplySlotsFrom (LIST object account pairs, STRING release type, STRING destination)
SupplySlotsFrom1to1(LIST object account pairs, STRING release type, STRING destination)
These functions return a list of Supply slots of Supplies which represent outflows from given Accounts and which have the indicated ReleaseType and Destination. The 1 to 1 version is used to return exactly one supply slot for each account. If there is more than or less than one supply for each account, the function will produce an error message and abort.
SupplySlotsFromIntra (LIST object account pairs, STRING release type, STRING destination)
SupplySlotsFromIntra1to1(LIST object account pairs, STRING release type, STRING destination)
These functions return a list of Supply slots of Supplies which represent internal flows from given Accounts and which have the indicated ReleaseType and Destination.The 1 to 1 version is used to return exactly one supply slot for each account. If there is more than or less than one supply for each account the function will produce an error message and abort.
SupplySlotsTo (LIST object account pairs, STRING release type, STRING destination)
SupplySlotsTo1to1(LIST object account pairs, STRING release type, STRING destination)
These functions return a list of Supply slots of Supplies which represent inflows to given Accounts and which have the indicated ReleaseType and Destination.The ‘1 to 1’ version is used to return exactly one supply slot for each account. If there is more than or less than one supply for each account the function will produce an error message and abort.
SupplySlotsToIntra(LIST object account pairs, STRING release type, STRING destination)
SupplySlotsToIntra11o1(LIST object account pairs, STRING release type, STRING destination)
These functions return a list of Supply slots of Supplies which represent internal flows to given Accounts and which have the indicated ReleaseType and Destination.The ‘1 to 1’ version is used to return exactly one supply slot for each account. If there is more than or less than one supply for each account, the function will produce an error message and abort.
Hypothetical Simulation
Diagnostic message changes
The diagnostic message format for HypSim has changed slightly. Previously the messages for a hypothetical simulation object were preceded by “object_HpySim:”. Now the messages are preceded by “HypSim:subbasin:object”.
Performance improvements
There have been significant performance improvements to the execution of hypothetical simulation. This is achieved by saving clones of subbasins and the recycling memory allocated to the subbasins’ series slots.
Accounting
Supply Manager Dialog
Supply Role
The Supply Role has been added as an optional column and sort criteria to the Supply Manager dialog. The existing supply roles are “StandAlone”, “ExchInput”, “Borrow”, “ExchDest” and “Payback”.
Pass Through Accounts on Reservoirs
Solution with Diversion and Return Flow
‘Pass through accounts’ on reservoirs now account for diversion and return flow when solving for storage and outflow. Previously there was no solution method to account for diversions on pass through accounts on reservoirs.
Transfers
Transfers accept negative values
Transfers-in and -out now accept negative values. They used to issue an error and refuse a negative value.
Optimization
Power Regulation
Computation of Hydro Capacity
The Hydro Capacity slot was previous being computed/linearized as Maximum Turbine Release times the Power Plant Capacity Fraction. This flow value is now converted to power using the Flow Power Table. This is done for both simulation and optimization. Also, optimization now calculates the Hydro Capacity at the beginning of the run. This removes the need to linearize Hydro Capacity and it is now a SeriesSlot instead of a AggSeriesSlot. Note that Hydro Capacity is now only available and computed if a power method is selected.
Behavior Prior to Beginning of Run
Referencing variables prior to Beginning of Run
Prior to this release, a small number of optimization variables could not reference values before beginning of run. This has been corrected.
Closed Bug Reports
The following is a list of the bugs which were fixed for this release. If you wish to view the details for a specific bug, please browse to http://cadswes.colorado.edu/users/gnats-query.html and search our bug database. You will need a RiverWare user login and password.
 
2678
3089
3555
3556
3561
3572
3574
3576
3577
3578
3579
3581
3582
3584
3585
3586
3587
3591
3593
3598
3600
3601
3602
238
243
244
247
253
256
257
263
269
270
272
274
276
281
287
290
291
292
293
313
343
400
402
403
404
405
406
417
426
434
436
437
438
439
440
448
449
458
461
464
466
475
478
493
497
515
519
520
521
522
524
525
536
544
552
561
566
568
570
586
597
598
600
601
606
607
608
618
620
625
627
631
632
647
656
657
662
664
670
682
703
737
743
792
795
854
866
899
909
920
929
930
931
936
946
948
949
950
951
952
953
981
982
987
988
989
 
 
 
 
 
Revised: 06/03/2019