CADSWES Maintenance Accomplishment Report Compilation -- April 2015
Phil, Edit: 5-7-2015.

April 2015 Maintenance Highlights:

  1. One RiverWare patch release: 6.6.5, and three 6.7 development snapshots.
  2. Eleven (11) RiverWare bug fixes.
  3. Fixes to Distributed MRM writing XLSX files
  4. Maintenance on Unit Conversion Utility API
  5. Ongoing: Monitoring and maintaining daily RiverWare regression tests.
  6. 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:

SUMMARY OF CHANGES IN RIVERWARE PATCH RELEASE 6.6.5

Table Verification in the Plant Efficiency Curve method
In the Plant Efficiency Curve power method, the Plant Power Table data was verified to ensure concavity. This check was removed for the beginning of Simulation and Rulebased Simulation but is still performed at the beginning of an Optimization run.

Bugs
The following bugs were fixed:

  • 5605 - Previously, it was possible to delete all rows in a series slot and it was hard to revert. Now a single row is always maintained and there is a confirmation when deleting rows.
  • 5606 - Importing monthly data into a daily timestep model with a DSS Database DMI was not working under certain conditions.
  • 5609 - The Open Account dialog did not update when creating supplies on the workspace.
  • 5611 - Series slot tooltips on accounting slots were incorrect.
  • 5626 - In plotting, probability and logarithmic axis scales were reverting to linear scale when printing or saving.
  • 5628 - Within the Peak Power Equation and Peak Power Equation with Off Peak Spill power methods, an incorrect error was posted due to convergence on Turbine Release.
  • 5629 - Object clusters were interfering with the Computational Subbasin flood control methods.
  • 5630 - In the Import Paste dialog, the "Limit paste operation to Slot Cell Selection" checkbox was incorrectly checked by default.
  • 5632 - Control Point and Reservoirs were issuing an incorrect error when forecasting was used and there was pre-simulation data specified, but the objects were not using the cumulative local inflow disaggregation.
  • 5634 - A model with more than 200,000 timesteps could crash during load.

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

The following bugs were fixed:

*Re: Bug 5614, SEE ALSO "RiverWare Unit Conversion Utility API Maintenance", below. 

Distributed MRM writing XLSX files

In working with the East Nile model, Kevin Wheeler discovered a problem where the Excel files automatically generated from RDF files as output from a distributed MRM configuration are always written in the older .xls Excel format. If a multiple run is not distributed, the Excel files are written in the format that matches the version of Excel on the system. The distributed MRM controller calls the RdfToExcelExecutable program in batch mode to create the Excel files, and was always calling this program with the output file argument as the base of the RDF file name with .xls added to it. This caused the output files to always be written in this format. The code in the distributed MRM controller was changed so that it does not pass any output file argument in the batch mode call. The RdfToExcelExecutable program was modified so that if an output file argument is not provided, an output file name is generated as the base of the input file name plus the Excel suffix for the version of Excel resident on the system. In this way the distributed MRM controller can generate files of the appropriate Excel version without having to have any knowledge about the Excel program on the system. A new version of the RdfToExcelExecutable (version 1.2) was generated and posted to the CADSWES web site. The modified distributed MRM controller code was checked in to the prerelease and the builds areas so that the change will appear in any RiverWare 6.6 patch releases and the 6.7 release.

RiverWare Unit Conversion Utility API Maintenance

In the course of addressing a problem with the Time Aggregation Series Slot (Gnats 5614), it became apparent that we were not correctly converting standard flow values within an annual series to, and from, "per month" units (e.g. acre-ft/month). Furthermore, our convention of supplying the unit conversion methods with a timestep Date_Time to accommodate irregular time units wasn't actually sufficient for this particular case. For correctly handling irregular time units, also needed is the symbolic timestep size (a DeltaTime) for which the unit conversion is being done.

Beyond the application code changes which were needed to directly address Gnats 5614, we also took this opportunity to greatly simplify common uses of unit conversion utilities, both within the unit conversion library, and notibly the many uses of that library in application code (especially in the EngrObjs library). This primarily involved standard unit conversions between Flow and Volume values. Making use of the knowledge that the standard units for the Flow and Volume unit types are always related by the number of seconds in the relevant timestep, we were able to replace calls to functions taking seven (7) parameters (where the result is returned in the 4th parameter) to functions taking two (2) parameters, with the result returned as the function value. This greatly improves the readibility of EngrObjs source code. (This maintenance was applied to about 85% of the EngrObjs code. The remainder will be completed probably before the RiverWare 6.7 release).

After completing this maintenance, the Gnats 5614 solution was revisited, and was found to also need some further adjustments. This included fixes for incomplete time aggregations at the beginning and end of the series slot being aggregated. That was also completed this month.

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

None reported for April 2015.

(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.

(II.E) Download, Install and Release Processes

(II.F) Updates to license software/procedures

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

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

None reported for April 2015.

--- (end) ---