-
Notifications
You must be signed in to change notification settings - Fork 21
Description
Is your feature request related to a problem? Please describe.
USGS has changed their streamflow measurement endpoint in Feb 2026. The biggest change is:
They no longer use an integer for the streamflow measurement number. They use a UUID for a field visit ID and a UUID for a measurement ID. This allows them to store stage only measurements separately.
CWMS requires a streamflow measurement number as well as a flow and stage value. This creates complications in storing USGS measurements because the CWMS measurement number can no longer match the USGS identifiers.
They also have some channel information from the measurement at a separate endpoint.
Describe the solution you'd like
Consider redesigning the measurement endpoint and backend cwms DB to more closely align with the USGS system. This could help this CWMS feature request as well: https://discourse.hecdev.net/t/allow-a-stage-measurement-with-no-flow-to-be-stored/4507
At a minimum, allow fields to store USGS field visit UUID and potentially measurement UUID (although for the measurement UUID there is some documentation that it may change willy nilly?).
Describe alternatives you've considered
We can workaround for now by hashing the USGS field visit UUID, returning an int from that for the CWMS measurement number, and storing the field visit UUID in the comments, but that's probably not the best way to do things. Example:
"usgs-measurement": {
"remarks": "field_visit_id=46dd5fe1-4036-447e-890c-ebcd6b4e285a",
"current-rating": "",
"control-condition": "Clear",
"flow-adjustment": ""
}
Additional context
It appears that the cwms DB currently aligns fairly closely with the legacy USGS measurement endpoint, but the redesigned USGS endpoint does not align that closely.
New USGS measurement endpoints:
https://api.waterdata.usgs.gov/ogcapi/v0/collections/field-measurements/schema
https://api.waterdata.usgs.gov/ogcapi/v0/collections/channel-measurements/schema