Download PDF
Download page CAVI.
CAVI
Overview
CWMS 3.3.0 was release in June 2023, and implementation at district offices has begun. CWMS 3.3.0 was the first version built on the HEC "DevNet" environment. During FY22, the HEC DevNet infrastructure was developed to include the following: using JIRA for issue management, using Confluence for documentation and searchable records, Git-based source control through BitBucket/GitHub, TeamCity build system, and Nexus artifact management. Through this culture change, everyone on the team is tracking issues, submitting code and pull requests, collaborating in Confluence, editing online documentation, and accessing artifacts.
Version 3.3.0 includes model updates, bug fixes, as well as additional features that were completed during FY22. The additions completed for version 3.3.0 include:
- Updating the modeling software to utilize HEC-MetVue 3.1.0, HEC-HMS 4.10, HEC-ResSim 3.5, HEC-RAS 6.3.1, and HEC-FIA 3.3.
- Built-in CAVI extracts from Cumulus and CWMS-Data-API (CDA).
- Improved Program Order and Model Linking Editor (No Alternative and Model Linking limitations using Program Orders).
- Flood Damage Reporting easier and more powerful (native HEC-RAS output instead of grid files).
- Support for Local Regular Time Series in CWMS-Vue and the CAVI.
- CWMS-Data-API is now supported in CWMS-Vue, and CAVI Time Series Icons and Data Status Summary.
- New DBRADAR.py for scripting that supports CWMS-Data-API (CDA).
- CAC authentication updates that include support for HTTPS logins.
- Started support for vertical datum (attribute extracted to forecast.dss, but not utilized by modeling software).
- VTServer and Dbi server removed.
- Support for Versioned Time Series in HEC-DSSVue and CWMS-Vue.
- First CWMS build on HEC infrastructure:
- Migrated issue management, source control, build systems, and artifacts now hosted on the HEC DevNet system
- Paid down the most critical "technical debt" - see paragraph below on 'shared code'
- Updated practices to contemporary industry standards (Atlassian suite, Git-based versioning, Gradle/Maven, multi-OS build agents)
- Increased systematic test coverage both automated and interactive
- Release of HEC-RTS, CWMS, and CWMS-Vue as separate products
The Java libraries (shared code) that nearly all HEC products use as building blocks went through an important targeted refactoring, focusing mainly on critical elements. The refactoring process was a foundational necessity to enable the use of of modern build tools that enable tracking dependencies. The dependency tracking traces both the version of libraries and a hierarchy of libraries dependencies. Hosting the code and build system at HEC, combined with the improvements in the shared code (now named hec-monolith) has resulted in a system that is transparent and more scalable. The code and build process is accessible with industry standard tools, so onboarding new team members is improved and all the components are available for the development lifecycle. The impact of a code change is both visible and contained. For example, if a HEC-DSS developer makes an update to the HEC-DSS code, that change is stored with a specific version number. Existing applications are not affected immediately; application leads choose when to adopt the new version by simply editing a configuration file and updating the library version. This is tracked with source control that enables revisiting any code change as needed.
Accomplishments
Program Order
The ability to create multiple program orders was made a standard option in CWMS 3.3.0. In previous versions of CWMS it was an Advanced Option that had to be selected. Users can now use a single model alternative in multiple Forecast Runs that use different alternatives or programs earlier in the Program Order. For example, it is now possible to have a single HEC-ResSim Alternative included in two Forecast Runs that have different programs earlier in the Forecast. Forecast Run A could have MFP, HEC-HMS, and then HEC-ResSim, while Forecast B could have HEC-MetVue, HEC-HMS, and then the same HEC-ResSim alternative.
Model Linking
- Significant work was done on the CAVI model linking in FY23. Prior to CWMS 3.3.0 the model linking was managed by each individual model application. The CAVI now manages the model linking of each of the model applications by writing out a model linkages file that is used to orchestrate how model alternatives are linked to each other within a forecast alternative. This enhancement was developed and rolled out into the CAVI prior to FY23, but significant testing and refinements were included in CWMS 3.3.0 released in FY23.
Extract/Post
- The Extract Editor now supports time series extracts from CWMS databases using CDA and gridded data extracts from Cumulus.
Data Acquisition
- The CAVI now supports data reads (in Time Series Icons and Data Status Summary Tables) from District databases and the National CWMS Database in CWBI using CDA.
Data Visualization
- No FY23 updates were scheduled for the Data Visualization in the CAVI.
CAVI Desktop Dashboard
- The CAVI dashboard was migrated from the old development environment to a new one, allowing for quicker and more efficient development.
CAVI Web Dashboard
- No FY23 updates were scheduled for the CAVI Web Dashboard.
Team Modeling
- The CWMS Team modeling feature has continued to have performance improvements and general bug fixes.
General
HEC evaluated and classified issues within the existing software code, performed bug fixes in the code, as well as provided minor modifications or enhancements to the code. Programmer support for CWMS was necessary during the in-house testing period, as well as during the production release period to troubleshoot possible package integration issues, fix bugs, and address other issues such as installation support. CWMS Maintenance activities also included monitoring the CWMS helpdesk, updating the database schema, quarterly patch testing, database and operating system support, updates to comply with database policy and CCRI directives, CAC authentication updates, App Portal compatibility, and support to 36 USACE District/Division Water Management offices.
Field Support and Technology Transfer
- CAVI Scripting Workshop (MMC)
- CWMS Modeling for Real-Time Water Management PROSPECT Course
- CWMS Beginners Workshop (MMC)
- NAD CWMS Course
- Webinars
- Forecasting with Ensembles in CWMS
- CAVI Dashboard
- New Features in CWMS 3.3.0
- Version Control with Git/GitHub