CADSWES Maintenance Accomplishment Report Compilation -- March 2017
Phil Weinstein, edit 4-05-2017 (a).
March 2017 Maintenance Highlights:
- RiverWare 7.0.6 Patch Release (3-23-2017)
- RiverWare 7.1 Development Snapshot (3-24-2017)
- Twelve (12) completed bug fixes.
- Progress on Visual Studio upgrade research (from VS 2010 to VS 2013)
... A runnable 64-bit RiverWare build with VS 2013 was achieved on 4-3-2017.
- Progress on Evaluating CU OIT BitBucket Server repository hosting service.
- Ongoing: Monitoring and maintaining daily RiverWare regression tests.
- Ongoing: Installation Process and Licensing development and administration.
Report contributors:
- Substantial content from: Jessica, Bill, David, Robynn, Patrick.
- Bug fix items from: Phil (6), David (2), Patrick (2), Willard (2). [Tim filed 3 bugs].
- Indicated that they had no maintenance accomplishments to report this month: Mitch, Neil.
(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:
- RiverWare 7.0.6 Patch Release (3-23-2017)
- RiverWare 7.1 Development Snapshot (3-24-2017)
RiverWare 7.0.6 (3-23-2017) Release Notes:
RPL Units
RPL Units were added for the FlowPerTime unit type. This allows RPL Policy to reference slots with this unit type.
Bug Fixes
The following issues were addressed:
- 5858: On the Periodic Slot, the delete column operation did not correctly adjust numeric column headers.
- 5912: On some Table Slots, adding or deleting columns did not correctly update units.
- 5913: Within the SCT, when switching series sheets, the vertical time scrolling could become out of sync.
- 5917: A secondary bisection algorithm was added to the Level Power Reservoir's solveMB_givenEnergyInflow dispatch method for better iteration and convergence.
- 5923: Within plotting, the alignment of grid lines to the right axis was not working correctly.
- 5924: Particular scaled unit combinations showed incorrect values (e.g. 1000 ML and 1E6 GL).
- 5926: A crash could occur in the Reservoir's Future Value category, Cumulative Storage Value Table method, when changing the run timestep.
|
(II.B) Software Updates, Bug fixes (not associated with new development)
The following bugs were fixed:
- Bug 5617: Non-convergence when solving given inflow and energy. A secondary bisection algorithm was added to the Level Power Reservoir's solveMB_givenEnergyInflow dispatch method for better iteration and convergence.
- Bug 5858: Periodic Slot: Delete column doesn't adjust numeric column headers.
- Bug 5864: Patterned legend and plot lines appear different if thickness is greater than 1.
- Bug 5881: Canceling a New Script operation still creates a new script.
- Bug 5912: Inserting columns in table slots with different units messes up the units on the existing columns.
- Bug 5913: SCT, switching Sheets, vertical time scrolling out of sync.
- Bug 5923: Alignment of plot grid with right axis is not working.
- Bug 5924: Numeric display incorrect when Scale equals scale of unit with respect to standard unit (e.g. 1000 ML).
- Bug 5926: A crash could occur in the Reservoir's Future Value category, Cumulative Storage Value Table method, when changing the run timestep.
- Bug 5927: Some script errors not reported when run from dashboard or script editor.
- Bug 5930: Optimization fails for some policies that look reasonable
- Bug 5933: Crash when evaluating expression slot that calls invalid function
Additionally, analysis was done on the following bug:
- Bug 5881: Script Manager creates new script even if user cancels the operation
- Bug 5893: Uninstall leaves folder "servers" behind.
- Bug 5918: POSAT incorrectly reporting the number of frozen constraints. Additional information was added based on investigating a new model with this bug, and the new model was saved in the bug folder.
- Bug 5928: Generating CPLEX Error 1222 and inconsistent/missing coefficients. (Filed).
- Bug 5929: Hidden modal dialog. (Filed).
(II.C) Development tool improvements; issue tracking software; modelcomp
Visual Studio Upgrade (from VS 2010 to VS 2013):
Periodically CADSWES upgrades the version of Microsoft Visual Studio being used for RiverWare development, and is currently upgrading from VS 2010 to VS 2013. This involves several steps, among them:
- Building the RiverWare source code. New compilers typically expose a small number of issues in the source code. As an example, assigning a literal string to a non-const char* compiled in VS 2010 but not in a VS 2013 release build. The issues are addressed either by modifying the code or by adding compiler options to allow specific constructs.
- Upgrading to new versions of 3rd party libraries when appropriate.
- Downloading 3rd party libraries when precompiled binaries are available.
- Building 3rd party libraries from source when precompiled binaries aren't available.
There are a substantial number of 3rd party libraries RiverWare uses -- Qt, ICU, CPLEX, FlexLM, RepriseLM, GDAL / MrSID, NetCDF / HDF5, Oracle Client, Google protocol buffers, QuaZIP, Qwt and Tcl. The "Building RiverWare Related Software" document describes for each library whether it's downloaded or built from source, and the instructions for doing so. Unfortunately the document is describing a moving target -- websites change, procedures for building libraries from source change, and so on. For example, the instructions for building GDAL / MrSID, NetCDF / HDF5 and Qwt are substantially different now than they were when the document was last updated. In March the libraries were either downloaded or built from source (upgrading to new versions when appropriate) and the document was updated to reflect the new instructions. Maintaining the document is a mixed bag. On the one hand it's updated knowing that the next time CADWES goes through this process the target will have moved again, and parts of the document will be out of date. On the other hand it does represent "best practices" at the time it's updated and can provide a road map the next time though the process.
In March 2017, the following tasks were completed:
- Settled on VS2013 (rather than VS2015) due to a compatibility issue with Oracle Client.
- Upgraded project files and solution file to the VS2013 toolset and pushed to the VS2013 git branch.
- Applied minor code fixes to DbDmi, Q3Gui, and Sim to address breaking changes and pushed to branch. (to revisit).
- Compiled projects with VS2013 using existing include directories and library header files.
- Built all 3rd party libraries (except netcdf - in progress) with VS2013.
- Installed new 3rd party builds in c:/riverware/tools
- Updated documentation with detailed instructions for each 3rd party build.
- Updated .pro files INCLUDEPATH with new version locations and pushed to branch.
- Ran qmake and encountered an issue: qmake mysteriously reverted the ToosVersion in the.vcxproj file to 4.0 (VS2003)
- Updated include directories in project files and pushed to branch.
- Updated PATH on granby to reflect new location of Quazip, and UIC
- Recompiled all projects with new library header files and include paths.
Evaluating CU OIT BitBucket Server repository hosting service:
Git is the revision control system used by CADSWES for source code and model files. There are desktop clients as well as web interfaces for Git. The desktop clients provide read / write access to the Git repositories while the web interfaces provide read-only access. The Git repositories have been hosted on the CADSWES Linux server, but CADWES is now considering moving the Git repositories to the CU cloud. Over the past several months test repositories were established in the CU cloud.
In March 2017, we continued to investigate the possibility of moving the internally hosted git repositories to the BitBucket Server hosting supported by OIT. The primary RiverWare source code repository was cloned to the OIT site and then developers explored the functionality available via the web for accessing that repository.
Software developers evaluated working with the cloud-base repositories. To a large degree the transition is transparent; the desktop client currently in use, Git Extensions, works equally well with the locally hosted repositories and the cloud-based repositories. However, the web interfaces would not be available for the cloud-based repositories -- they require a locally hosted repository and the effort to mirror the repositories on the local host would be too burdensome. (It should be noted that the web interfaces provide capabilities not available in Git Extensions, for example searching the repository by committer.) To address this, alternative desktop clients were evaluated, with Atlassian SourceTree being the "winner". It provides a clean, intuitive interface and the features provided by the web interfaces.
SQL Developer:
SQL Developer is a tool which enables developers to examine and modify SQL databases such as Oracle using a modern user interface. In March SQL Developer was installed on two computers. To use SQL Developer effectively a user must be logged into the database as an administrator which creates a "high reward / high risk" situation. A novice (new to SQL databases and SQL Developer) could easily do something "not good". To reduce the odds of this, the novice in question took a tutorial on SQL Developer.
(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 March 2017, the 32 bit build machines had to be updated regularly due to conflicts in the merge. This prevented the regression tests from running each night.
(II.E) Download, Install and Release Processes
- Started looking at Bug 5541: File association after install of 6.5 and 6.5.1. In progress.
- Working on Bug 5893: Uninstall leaves folder "servers" behind. Worked with Flexera support on this. Tested and generated the debug log files for Flexera support to look at the issue.
(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. Worked with Reprise support and had our database upgraded to version 12.2.
- Added rlmclient.exe file to the release deliverable file list in RiverWare 7.1 snapshot and 7.0.X release project files. This program is a debug tool for checking the running status of the floating license server from both the server machine side and from the client machine side. When our floating license users have problem with their license, this program can help us debug the problem. It does not affect the functionality of the license server.
(II.G) Updates to download/install/configure user documentation
- Updated the online document RIVERWARE LICENSE SERVER CONFIGURATION GUIDE. Modified the content of how a floating license works to match the new "shared" feature introduced in the RiverWare 7.0 release. Updated all the RLM images in the document to RLM 12.0. Updated the image of RiverWare About dialog to the new version. Updated the trouble shooting section with the new simplified error message displayed in the Command Prompt window from RiverWare.
- Updated the online document RIVERWARE INSTALLATION USER GUIDE (WINDOWS). Reorganized the table of contents. Updated with the information of user name and password are required for release install file download. Added more details to describe the various locations of the install folders. When user does not change the install location manually during the install process, RiverWare will be installed to a specific folder by default depending on the type of the system privileges user has, or if user is running as a system administrator.
(II.H) Modification to Web pages for downloads and installs
None reported for March 2017.
--- (end) ---