CADSWES Maintenance Accomplishment Report Compilation -- April 2015
Phil, Edit: 5-7-2015.
April 2015 Maintenance Highlights:
- One RiverWare patch release: 6.6.5, and three 6.7 development snapshots.
- Eleven (11) RiverWare bug fixes.
- Fixes to Distributed MRM writing XLSX files
- Maintenance on Unit Conversion Utility API
- Ongoing: Monitoring and maintaining daily RiverWare regression tests.
- Ongoing: Installation Process and Licensing development and administration.
Report contributors:
- Substantive content from: Jessica, David, Phil.
- Bug fix items from: David, Neil, Phil, Bill.
- Indicated that they had no maintenance accomplishments to report this month: Patrick, Mitch, Tim.
(II) RiverWare Software Maintenance
- Releases, Patches and Snapshots
- Software Updates, Bug fixes (not associated with new development)
- Development tool improvements; issue tracking software; modelcomp
- Enhancements or changes to regression tests (not part of development tasks)
- Download, Install and Release Processes
- Updates to license software/procedures
- Updates to download/install/configure user documentation
- Modification to Web pages for downloads and installs
|
(II.A) Releases, Patches and Snapshots
The following releases were generated this month:
- Patch Release 6.6.5 / 4-21-2015, see details below.
- Release 6.7 Development Snapshots: 4-13-2015, 4-23-2015, 4-30-2015.
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:
- Bug 4181: First dispatch timestep on reach is incorrect when stream gage is present. This fix adds in the required findEarliestUpstreamInput method so that the gage does not impact the first timestep search.
- Bug 5605: Open Slot Dialog: more careful presentation of Cut/Delete Rows operations.
- Bug 5606: DSS DMI problems importing monthly data.
- Bug 5614: Time Aggregation Series Slot: irregular time-unit problems.*
- Bug 5626: Probability and Logarithmic Plot Axes had been reverting to Linear Scale.
- Bug 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. This was fixed by using temporary variables within the computations so that convergence criteria was not an issue.
- Bug 5629: Object clusters were interfering with Computational Subbasin flood
control methods.
- Bug 5630: Import Paste: "Limit paste operation" default setting change
- Bug 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. This was fixed by adding in appropriate code to not try to set local inflow on the initial timestep in this situation.
- Bug 5634: A model with > 200,000 timesteps could crash during load.
- Unfiled – RCL command names mismatched between RiverSMART and RiverWare
- Unfiled – More robust implementation of temporary file creation when line endings are converted for an output control file-executable DMI
*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
- InstallShield project files:
- Updated the two online download zip files (32-bit and 64-bit) that contain the license server program files. The new platform-independent server file cadswes.set was added to the zip files.
(II.F) Updates to license software/procedures
- Maintaining RiverWare licenses for internal development systems. This is an ongoing task.
- Reprise:
- Setting up Reprise Activation Pro License Center and database
- Setting up the product definition and the activation key for RiverWare Viewer license. Created the same for node-locked license for comparison.
- Testing the license definition and the license activation procedure. Verifying the licenses created.
- Working on the online document "User Guide for Obtaining a RiverWare Viewer License".
- Setting up the RLM License Generation (rlmgen) tool.
- This tool is for in-house use only. The purpose is to provide an optional automated tool to generate simple license key for users by any CADSWES personnel.
- Created product definition for RiverWare license products. They include full and Viewer licenses, Node-locked and floating licenses, CPLEX licenses, roaming license, and VM-enabled license.
- Testing the license definitions and the license creating procedure. Verifying all different types of licenses created.
- Documenting the procedure into the instruction file "rlmgen instructions."
(II.G) Updates to download/install/configure user documentation
- Completed updating the online document License Server Configuration Guide. Modified and added the information regarding the additional ISV license server file cadswes.set. Jim P. has posted the new version online.
(II.H) Modification to Web pages for downloads and installs
None reported for April 2015.
--- (end) ---