Download PDF
Download page CWMS-Vue and HEC-DSSVue.
CWMS-Vue and HEC-DSSVue
CWMS-Vue Overview
CWMS-Vue is a graphical user interface designed for viewing, editing, and managing data stored in HEC-DSS files and CWMS databases. It allows users to plot, tabulate, edit, and apply over fifty mathematical functions to the data. In addition to these capabilities, CWMS-Vue offers several utility features, including entering datasets into databases, renaming datasets, copying datasets between database files, and deleting datasets.
Accomplishments for CWMS-Vue
Award Maintenance Contract
A maintenance contract was awarded and used to improve loading performance in CWMS-Vue, make CWMS-Vue a standalone application that can be applied outside of HEC-RTS, and correct 41 issues reported by the field.
Standalone Release of CWMS-Vue
A standalone CWMS-Vue 4.0 was released. Moving towards a standalone version allows for rapid releases of the software as additional performance improvements, bug fixes, and new features are made. A light weight version of CWMS-Vue is still maintained in HEC-RTS to support data validation for HEC-RTS modeling and daily Water Management operations.
Improve the DevOps Environment for CWMS-Vue
A new build and test environment was implemented for CWMS-Vue as part of the standalone software release. The updated build environment incorporates a branch management strategy that enables continuous development without disrupting beta or release versions. This strategy reduces the risk of inadvertent bugs being introduced into field releases since new features and bug fixes can be thoroughly tested in the development branch before being merged into a release version. Additionally, new tests were created, including various datasets and step-by-step procedures for use when testing future software versions.
Host Webinars
A number of webinars were held to discuss new capabilities and future plans targeted for CWMS-Vue development.
Improve Documentation
A new CWMS-Vue User's Manual was drafted, https://www.hec.usace.army.mil/confluence/cwmsdocs/cwmsvueum/v4.0.0. The plan is to include more field support to build out examples and base line descriptions.
HEC-DSS and HEC-DSSVue Overview
HEC-DSS and HEC-DSSVue are the core components for data storage and visualization within the CWMS software suite. HEC-DSS serves as the primary time-series database format, enabling seamless data sharing between models during CWMS computation runs. HEC-DSSVue is a user-friendly interface designed to simplify data management across multiple HEC applications. It is available both as a standalone program and as an integrated library within other software, such as HEC-ResSim.
Accomplishments for HEC-DSS and HEC-DSSVue
Assistance with Migration to HEC-DSS 7
As applications and HEC-RTS users moved to HEC-DSS version 7, HEC staff provided DSS support to water management offices with discourse and video conferencing. Also, a script was developed that allowed users to convert all DSS files in CWMS watersheds to version 7. Finally, examples of how to migrate scripts to use HEC-DSS version 7 were posted to GitHub and discourse.
Maintenance of Shared Code
Shared code are modules(libraries) of shared functionality used by most HEC applications. For example, the hec-monolith library is used by all HEC Java applications for functionality such as data structures and reading and writing to HEC DSS files.
This past year we improved the 'java docs', fixed several bugs and removed redundant code paths as part of moving to DSS version 7 and retiring DSS Version 6 and related Fortran code. For example, when studying shared code we found a place where 117 lines of code were replaced with 1 line of code by using the appropriate library call. This work will result in future HEC-DSS work being less expensive and more efficient to complete because the code is easier to maintain and improve upon. Less code means less bugs, and less code also means it is easier to fix bugs. While working on retiring Fortran usages, we were able to reduce the number of functions by 45% in the C/JNI layer of code.
Planning and Prototyping the Future of HEC-DSS with Java
A new language independent API (hecdss.dll) to HEC-DSS continues to be developed and is being tested with both Python and Java.
Improving the Future of HEC-DSS with Python
The Python API for HEC-DSS has been well received. There have been 39 improvements (Pull requests) recently. These improvements include bug fixes, documentation, and more features. One important improvement was made for the Cumulus project that eliminate a whole class of security scan concerns. The DSS Python API is automatically published to pipy: the world wide sharing home for python libraries.