From 4888130f0eef04c9e551ac3ac144c5c625209995 Mon Sep 17 00:00:00 2001 From: thodson-usgs Date: Thu, 16 Apr 2026 20:38:53 -0500 Subject: [PATCH 1/2] Point get_gwlevels deprecation at continuous/daily services The old stub only directed users to waterdata.get_field_measurements, which returns discrete/manual readings and silently drops users who need continuous transducer data. Extend the NameError and the get_record defunct-replacement table to also surface get_continuous and get_daily. Fixes #236. --- dataretrieval/nwis.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/dataretrieval/nwis.py b/dataretrieval/nwis.py index 0bcb1d6..9d9e28a 100644 --- a/dataretrieval/nwis.py +++ b/dataretrieval/nwis.py @@ -225,10 +225,13 @@ def get_discharge_peaks( def get_gwlevels(**kwargs): - """Defunct: use ``waterdata.get_field_measurements()``.""" + """Defunct: use ``waterdata.get_continuous()``, ``waterdata.get_daily()``, + or ``waterdata.get_field_measurements()``.""" raise NameError( - "`nwis.get_gwlevels` has been replaced " - "with `waterdata.get_field_measurements()`." + "`nwis.get_gwlevels` has been replaced. Use " + "`waterdata.get_continuous()` for transducer (15-minute) data, " + "`waterdata.get_daily()` for daily values, or " + "`waterdata.get_field_measurements()` for discrete/manual readings." ) @@ -811,7 +814,8 @@ def get_record( - 'site' : site description - 'measurements' : (defunct) use `waterdata.get_field_measurements` - 'peaks': discharge peaks - - 'gwlevels': (defunct) use `waterdata.get_field_measurements` + - 'gwlevels': (defunct) use `waterdata.get_continuous`, + `waterdata.get_daily`, or `waterdata.get_field_measurements` - 'pmcodes': (defunct) use `get_reference_table` - 'water_use': (defunct) no replacement available - 'ratings': get rating table @@ -859,7 +863,11 @@ def get_record( defunct_replacements = { "measurements": "`waterdata.get_field_measurements`", - "gwlevels": "`waterdata.get_field_measurements`", + "gwlevels": ( + "`waterdata.get_continuous` (transducer), " + "`waterdata.get_daily`, or `waterdata.get_field_measurements` " + "(discrete)" + ), "pmcodes": "`waterdata.get_reference_table`", "water_use": "no replacement available", } From e727c0bb420192ad090b5bec95277134fc89b9a0 Mon Sep 17 00:00:00 2001 From: thodson-usgs Date: Thu, 16 Apr 2026 20:47:05 -0500 Subject: [PATCH 2/2] Drop transducer-specific wording from gwlevels message Continuous values may come from transducers, radar, or other sensors; the deprecation message should not imply transducer is the only source. --- dataretrieval/nwis.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dataretrieval/nwis.py b/dataretrieval/nwis.py index 9d9e28a..65608c6 100644 --- a/dataretrieval/nwis.py +++ b/dataretrieval/nwis.py @@ -229,8 +229,8 @@ def get_gwlevels(**kwargs): or ``waterdata.get_field_measurements()``.""" raise NameError( "`nwis.get_gwlevels` has been replaced. Use " - "`waterdata.get_continuous()` for transducer (15-minute) data, " - "`waterdata.get_daily()` for daily values, or " + "`waterdata.get_continuous()` for continuous (typically 15-minute) " + "values, `waterdata.get_daily()` for daily values, or " "`waterdata.get_field_measurements()` for discrete/manual readings." ) @@ -864,7 +864,7 @@ def get_record( defunct_replacements = { "measurements": "`waterdata.get_field_measurements`", "gwlevels": ( - "`waterdata.get_continuous` (transducer), " + "`waterdata.get_continuous` (continuous), " "`waterdata.get_daily`, or `waterdata.get_field_measurements` " "(discrete)" ),