CADSWES Maintenance Accomplishments -- November 2012 (edit 11-6-2012) RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Regression Tests 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 November, changes were made to the regression test models to exercise new functionality like equal priority dates, ListDownstreamObjects predefined function, and multi-split step response water user return flow routing. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Releases and Patches RiverWare 6.2.6 was released on November 9, 2012. The release included the following release notes: SUMMARY OF CHANGES IN RIVERWARE PATCH RELEASE 6.2.6 Bugs The following bugs were fixed: 5215 - Slot dialogs and Model Run Analysis dialogs showed no data or timesteps. 5228 - Time scroll was not working correctly with Edit Account dialogs. 5229 - On model load, RiverWare could freeze when a subbasin contained an aggregate object. 5231 - Run was slow when the Model Run Analysis dialog was open. 5232 - In optimization, the piecewise approximation was not working for only 2 points. Units The volume unit "ksfd" was added to the units file; 1 ksfd = 1000 cfs-day. Reporting In the Open Object dialog, the prototype File->Generate Object Report was removed. Please use the "Model Report" device in the Output Manager instead. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Download, Installation and Release Process Ongoing: Provided daily build support. Monitored and worked on the builds and prerel areas nightly builds problem. InstallShield: (1) Continued work on upgrading to the latest IS 2012 release. Work on the configuration changes of the converted 32-bit snapshot project file. Work to create, re-organize, and coordinate the location of the resource files and release files between the new IS version and the current IS version in use. (2) Creation and set up of the special BPA project files for generating the special pre-release install files for Tim's training class at BPA. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Licensing Ongoing: Issuing Commercial Licenses. Generated and delivered (or in the process of issuing) license files to RiverWare users. Tasks included tracking the expiring licenses, contacting users to get information; generating license files; updating the license data records; providing instructions for RiverWare download, install, and floating license server manager configuration setup; and problem solving for users. Ongoing: Maintaining licenses for internal development environment. RLM (1) Downloaded the new Sentinel HASP/LDK Windows 8 device driver file for RiverWare dongles. Passed the file to Jim for him to post it on our download page. Updating the Dongle License User Guide to include this information. (2) Continuing the update and reorganization of all the special e-mail instruction files which are used for license related user support and problem solving. These special files are stored in a directory named "special-notes" in the license folder. Getting familiarized with Maximizer and worked with Gwen on adding new fields for storing the license file related data. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Development Environment Daily build support included monitoring of, and fixes to the "builds" and "prerel" overnight build areas. Migration from Microsoft Visual Studio 2008 to Visual Studio 2010: Work was started to test upgrading of the Windows compiler from Visual Studio 2008 to Visual Studio 2010. A demonstration copy of VS 2010 was installed on a test machine and a RiverWare development environment was created. The following steps were taken in working through issues with the new compiler: (1) Minor changes were made to the RiverWare code base to fix compilation errors. (2) Qt was rebuilt with VS 2010 so that its qmake tool will generate the the newer format Visual Studio project files. (3) The RiverWare VS solution file was converted to VS 2010 and all contained project files were remade to the new VS 2010 format. (4) Internal project library paths were automatically added to the Visual Studio projects in earlier versions of VS based on project dependencies, but are not in the new version. These paths were added to the riverwarebase.pro file and projects were remade to contain these paths. (5) In the build process, some object files and libraries that were created earlier in the builds were being deleted in later steps. This was tracked to a new limitation with VS 2010 that projects cannot share intermediate directories. The .pro files were modified so that each project is assigned a unique intermediate directory based on the name of the project. (6) The RdfToExcel and ClientServer libraries that are linked into RiverWare were generating link errors. These libraries were rebuilt with VS 2010, which fixed the problem. Remaining link errors were with the CPLEX 12.2 libraries that RiverWare uses for optimization solving. It was found that CPLEX 12.2 libraries are not compatible with VS 2010, but a fixpack is available to make them compatible. The CPLEX Optimization Studio 12.2 was installed and the relevant fixpack was applied. The resulting libraries allowed a RiverWare release executable to be linked, but the debug executable would not. Unlike earlier versions, VS 2010 will not allow a release library to be linked to a debug executable, and CPLEX 12.2 only provides release libraries. Starting with version 12.4, CPLEX is providing both release and debug versions of its libraries. It is planned to try to upgrade to CPLEX 12.5 (the most recent version) in the near future. To continue the compiler upgrade testing, CPLEX 12.2 was uninstalled and CPLEX Optimization Studio 12.5 was installed on the test machine. Its debug libraries allowed both RiverWare release and debug executables to be linked without errors. However, attempting to execute RiverWare led to side-by-side assembly errors indicating some incompatible DLLs. This is currently being investigated. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Software Maintenance - RDFToExcel Library The RdfToExcel library contains code that is used to automate and interact with Excel through the Component Object Model interface on Windows. This code is maintained in its own library so that it can be compiled into both the RiverWare and the Study Manager executables. RiverWare and the Study Manager have been upgraded to use a newer version of Qt (4.8.3), so the RdfToExcel library was also recompiled with the newer version of Qt. (Prior to this Qt 4.6.3 was used -- released on June 2010). This was completed on both 32-bit and 64-bit Windows machines. The new versions of the library were incorporated into the Windows configuration process for development computers and the new libraries were downloaded to all development machines. RiverWare project files in Visual Studio were updated to link in the new RdfToExcel library, and these changes were checked into the RiverWare repository. Related Qt 4.6.3 to Qt 4.8.3 included rebuilding the Study Manager with the new libraries. This involved only running the Qt 4.8.3 qmake, and rebuilding. Study Manager source code changes were not required. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Software Maintenance - Qt4 Port: Open Object Dialog A redesign and port of the Open Object Dialog was substantially completed in November 2012. This work was based on these two project analysis and design documents: (1) "Open Object Dialog -- Porting Lists from Qt3 to Qt4" R:\doc\openObject\Qt4Port\OpenObjectListPort-2012-oct-19.pdf (2) "Open Object Dialog Slot Ordering and Conditional Showing Controls" R:\doc\openObject\Qt4Port\OpenObjRedesign-2012-10-26.pdf Design changes include: (1) Support for multiple selection in the Slot list, and enhancement of certain operations to operate on a mutliple-slot selection. (2) A redesign of column ordering controls to support standard sorting by clicking in a column, with additional controls for special orderings. (3) Advanced slot filtering capabilities, allowing the user to persistently hide slots not relevant to the use of the model. This port will be completed in early December 2012. --- (end) ---