Overview

The CWMS Data API (CDA) is a type of Representational State Transfer Application Programming Interface (REST API). It allows two computer systems to exchange information securely over the internet. The National CWMS Database will no longer be maintained at the Central Processing Center (CPC), and the district T7 servers are beyond end-of-life, so a new accessible system was required to house all Water Management data. The database will now be a cloud-based system. This cloud-based system requires a different form of secure, scalable, and flexible means to transfer vital Water Management data, and CDA is this vehicle. The CWMS-Data-API allows each user to send and receive information from the database in its new location on the cloud in a variety of ways over an internet connection. It also supports the use of authentication, allowing only authorized users write access to the database while allowing the public to view public data, thus meeting DOD INSTRUCTION 8520.03 and ARMY PAMPHLET 25-2-13 requirements while continuing to support Water Management Operations.        

Funded Activities

Activity
Test Work Completed on FY23 Contract
Technology Transfer - Working Sessions
Technology Transfer - Documentation Updates
Technology Transfer - Webinars and Documentation on Scripting Updates
Data Improvements - Add Data as Identified
Maintenance Contract
Monitor and Improve Performance
API Improvements - Coordination with CRREL
API Improvements - Develop Python 3 Libraries

Accomplishments

Test Work Completed on FY23 Contract

The first task of the FY23 contract has been completed and merged in. Several districts have used the new or improved end points and provided feedback. 

Technology Transfer - Working Sessions

At least 4 working sessions for interacting with CDA were hosted in FY24. 

Technology Transfer - Documentation Updates

Clarity has been added to the existing Swagger Docs. Staff have investigated several possible mechanisms for documentations and provided initial prototypes.

Technology Transfer - Webinars and Documentation on Scripting Updates

A more in depth workshop was held on September 9-13, 2024 in St. Paul, MN. The wiki has also been updated for scripting.

Data Improvements - Add Data as Identified

Water management staff have identified a few new data types that are required. The initial investigations have been performed, but since the requests were received late in the FY they will be implemented next year. 

Maintenance Contract

At least 30 issues of varying impact have been corrected using the maintenance contract. 

Monitor and Improve Performance

Performance monitoring has helped the team to decide to rewrite some queries or tweak certain default values for performance. During the data workshop, there were no reported major issues in performance with multiple users querying the CWBI-test environment all at once.

API Improvements - Coordination with CRREL

Several discussions were held about reported issues, and work has started on migrating towards solutions for some of them.

API Improvements - Develop Python 3 Libraries

A Python3 library has been developed and is available from pipy.