CADSWES Maintenance Accomplishment Report Compilation -- July 2017
Phil Weinstein, edit 10-10-2017, initial writing in progress

July 2017 Maintenance Highlights:

  1. RiverWare 7.1 Release (7-12-2017)
  2. RiverWare 7.1.1. Patch Release (7-26-2017)
  3. Eleven (11) completed bug fixes.
  4. Inline Power Specify Units Generating Method
  5. Reservoir Diversion Power, Tailwater and Power Bypass Methods
  6. Ongoing: Monitoring and maintaining daily RiverWare regression tests.
  7. Ongoing: Installation Process and Licensing development and administration.

Report contributors:

(II) RiverWare Software Maintenance

  1. Releases, Patches and Snapshots
  2. Software Updates, Bug fixes (not associated with new development)
  3. Development tool improvements; issue tracking software; modelcomp
  4. Enhancements or changes to regression tests (not part of development tasks)
  5. Download, Install and Release Processes
  6. Updates to license software/procedures
  7. Updates to download/install/configure user documentation
  8. Modification to Web pages for downloads and installs

(II.A) Releases, Patches and Snapshots

The following releases were generated this month:

Release 7.1

The RiverWare 7.1 Release was sent to all users on 7/12/2017. This involved writing release notes, regenerating the help PDFs, updating the builds areas, creating the release executable, updating the website, and sending out the release notification. Release notes can be found on the RiverWare.org website.

RiverWare 7.1.1 (7-26-2017) Release Notes:

Database DMI on/off States:

The Database DMI on/off status was improved as follows:

  • Turning off a dataset causes its slot selections to be shown as off.
  • Turning off all slot selections causes the dataset to be shown as off.
  • The dataset is shown as a tristate (on, off, partially on) based on the state of its slot selections.

In addition, the on/off state is preserved in the model file when saved.

Inline Power - Specify Units Generating: Unit Turbine Release is now included

When the Specify Units Generating method was originally implemented for RiverWare 7.1, it only included Generation Capacity; the Power calculation was independent of Turbine Release. Now Unit Turbine Capacity has been added to the Unit Capacity slot, and you can optionally input the Unit Turbine Capacity. Also a new Unit Turbine Release agg series slot was added. You can optionally input the Unit Turbine Release. If you do not input Unit Turbine Release, it is calculated by the method by multiplying the Unit Turbine Capacity by the Unit Generation Fraction. The method also now sets the total plant Turbine Release.

As part of this enhancement, the Unit Capacity table slot was converted from a 1xN slot with one column for each unit's generation capacity to a Nx2 table with a row for each unit. The first column is now Unit Turbine Capacity (flow), and the second column is now Unit Generation Capacity (power). If this method was previously implemented in a model using RiverWare 7.1, it will be necessary to repopulate the Unit Capacity slot with data the first time the model is loaded in the new version of RiverWare.

See the RiverWare help Objects section 14.1.2.3 for more information.

New Reservoir Diversion Power Categories:

New categories were added to the reservoirs that enable you to model power produced through the Diversion slot.
Three new categories were added to the Reservoirs. Each has a default method of None and one new non-default method:

  • Diversion Power: Diversion Power Efficiency Curve
  • Diversion Tailwater: Diversion Base Value Plus Lookup
  • Diversion Power Bypass: Diversion Power Bypass Capacity Table

See the RiverWare help Objects section 15.1.27 for more information.

Bugs
The following issues were addressed:

  • 5973: Showing a tooltip raised inactive window obscuring other dialogs.
  • 5986: Distributed MRM was not removing partial RDF files. Now the intermediate, partial RDF files are removed after they have been combined.
  • 5894: RDF to Excel did not handle slash in environment variable correctly

(II.B) Software Updates, Bug fixes (not associated with new development)

The following eleven bugs were fixed:

  1. Bug 5869: problems with commented items in a RPL list
  2. Bug 5973: Showing a tooltip raises inactive window obscuring other dialogs*.
  3. Bug 5975: Rapid number entry on SCT can cause model crash
  4. Bug 5979: Editing plot axis changes Y axis range.
  5. Bug 5980: Importing plot causes axis to show different units.
  6. Bug 5981: Plot time axis settings lost after saving, reloading 'twice'
  7. Bug 5984: Run Abort doesn't appear aborted run started with Init but.
  8. Bug 5977: RPL Editor search & replace modifications not reflected in editor.
  9. Bug 5936: Prepending a blank to name of Tabular Series Slot report hangs RiverWare
  10. Bug 5907: Evaluating expression slots after opening a global functions set results in assertion failure
  11. Bug 5879: RPL Search and Replace of names does not work if Rule or Function editor is open.  (Fixed by 5977)

*Bug 5973, more information: In our upgrade from Qt 4.8.5 to Qt 5.5.1, a new Qt bug was causing a dialog to be raised each time the user moused-over a widget having a Tool Tip (popup help message). This bug (QTBUG-39147) was only recently fixed, for Qt 5.9.2. But we were able to apply that fix to Qt 5.5.1 source code, and rebuild that one Qt component. (We did this only for the 64-bit distribution of RiverWare; not the 32-bit distribution).

Additionally, analysis was done on the following bug:

  1. Bug 5949: Loading model removes added unit type's standard unit Unit Scheme rule
  2. Unfiled: SCT/Text Slot debug assertion failure.

Inline Power Specify Units Generating Method:

A new method, Specify Units Generating, was added to the Inline Power category on the Inline Power object. In the original version of this method implemented for RiverWare 7.1, the user specifies the generating capacity for each unit in the Unit Capacity slot (table slot) and the fraction of capacity at which each unit is generating in the Unit Generation Fraction slot (agg series slot). The method then calculates the Unit Power and Unit Energy (agg series slots) as well as the total plant Power and Energy. For the RiverWare 7.1.1 patch release, a further enhancement was added to the method to allow the user to optionally specify the unit turbine capacity in the Unit Capacity table slot. The user can then optionally specify the Unit Turbine Release (agg series slot) and let the method calculate the Unit Generation Fraction and Unit Power or specify the Unit Generation Fraction and let the method calculate Unit Turbine Release and Unit Power. If neither Unit Turbine Release nor Unit Generation Fraction is specified, then the Unit Generation Fraction defaults to 1, and the unit operates as full capacity. The method now also calculates total plant Turbine Release and Bypass in addition to total plant Power and Energy. Documentation for the new method was added to the RiverWare Help for release 7.1 and patch release 7.1.1.

Reservoir Diversion Power, Tailwater and Power Bypass Methods:

Three new categories were added to the Reservoir objects to allow for the modeling of power on the reservoir Diversion. One new method was added in each category. These new methods and categories (described below) were implemented for the RiverWare 7.1.1 patch release.

The Diversion Power Efficiency Curve method in the Diversion Power category is analogous to the Plant Efficiency Curve method on the primary power plant. It uses a 3-D table to calculate Diversion Power as a function of Diversion Turbine Flow and Diversion Operating Head. Diversion Operating Head is calculated as the difference between the average Pool Elevation and the Diversion Tailwater Elevation. The Diversion Power Efficiency Curve method is more limited than the existing Plant Efficiency Curve method. It does not allow Energy or Power to be input or set by rules. It does not include Plant Power Limit or Plant Failure methods.

The Diversion Base Value Plus Lookup method in the Diversion Tailwater category is analogous to Base Value Plus Lookup Table method for the standard Tailwater category. Diversion Tailwater is a function of Diversion (from the Diversion Tailwater Table slot) added to the Diversion Tailwater Base Value, which can be linked or defaults to zero if not input or set by rules.

The Diversion Power Bypass Capacity Table method in the Diversion Power Bypass category is analogous to the Regulated Spill method in the standard Spill category. If not input or set by rules, Diversion Power Bypass is set to Diversion minus Diversion Turbine Flow. It is limited to the max bypass interpolated from the Diversion Power Bypass Table (analogous to the Regulated Spill Table). It is not permitted for both Diversion Turbine Flow and Diversion Power Bypass to be specified (input or set by rules).

The method in the new Diversion Power category is called from each of the reservoir dispatch methods, at the end of the dispatch method. When the Diversion Power method is called, Diversion is already known. The new methods do nothing to affect mass balance or dispatching. They are calculated "after the fact." The Diversion Power method calls the Diversion Tailwater and Diversion Power Bypass methods.

Documentation for the new Diversion Power, Tailwater and Power Bypass categories and methods was added to the RiverWare Help for the 7.1.1 patch release.

Changes to RiverWare model file numeric precision:

Last month (in June 2017), the writing of RiverWare model files was modified with the goal of mitigating the risk of loss of information when floating point values. Most floating point values are now written with full precision (17 digits). Through RiverWare 7.1 the default precision was 12 digits, so in order to balance the potential increase in file size due to the general increase in precision, users can now choose to use a lower precision for simulation results (defined series slot values with the Output or Rule flag). As part of this work the Model Save Confirmation dialog was modified in accordance with the new options.

In July 2017, further testing was conducted and addition refinements to the Model Save Confirmation dialog were designed.

Complete OK/Cancel/Apply button order on remaining dialogs:

We had recently standardized the order of common buttons along the bottom of most RiverWare dialogs. In July, we finished four remaining dialogs (or panels) which had some tricky issues in making this change:

(II.C) Development tool improvements; issue tracking software; modelcomp

(II.D) Enhancements or changes to regression tests (not part of development tasks)

The regression tests continue to be maintained on a daily basis. This involves updating the regression tests to exercise new developments in the code. Also, as new code is added to the development area, the model comparisons performed in the nightly regression tests usually show differences (for example, because a new method category may have been added). When this occurs, the regression tests need to be updated to reflect the current state of the development area so model comparisons do not fail. In addition, every week, the daily history of each regression test is analyzed to determine if the run time or model size has significantly changed because of new development.

In July the regression tests were watched closely during the 7.1 release period. They were updated with new version numbers and histories were monitored closely.

(II.E) Download, Install and Release Processes

(II.F) Updates to license software/procedures

(II.G) Updates to download/install/configure user documentationt.

(II.H) Modification to Web pages for downloads and installs

None reported for July 2017.

--- (end) ---