central/tests/fixtures/nwis_latest_sample.json
zvx 5d64a8f70d feat(2-G): USGS NWIS adapter (OGC API) + CENTRAL_HYDRO stream
NASA WaterData OGC API v0 (latest-continuous collection) — polls configured
parameter codes within an operator-set bbox and publishes on the new
CENTRAL_HYDRO stream.

- Subject: central.hydro.<parameter_code>.<agency>.<bare_site_no>
  (e.g. central.hydro.00060.usgs.05420500). The agency/site decomposition
  lives in a single _subject_tokens_for_id helper.
- Default parameter codes: 00060 (discharge), 00065 (gage height),
  00010 (water temperature). Operator-tunable; single SoT in
  _DEFAULT_PARAMETER_CODES — no parallel literals.
- Composite dedup: nwis:<monitoring_location_id>:<param>:<time_iso>.
  Prefix kept in dedup key for cross-agency uniqueness.
- Pagination: follows OGC 'rel=next' link until absent (cursor-based).
- Region bbox is REQUIRED in practice; adapter logs WARN at startup if
  region is None (does not refuse to start).
- New stream CENTRAL_HYDRO added to streams.py registry (one line).
  Retention mirrors CENTRAL_DISASTER (7 days, 1 GiB).
- No removal pattern in v1 — sites are static; missing data is the signal.

Upstream divergences from the original spec brief, caught by pre-build curl:
- Collection is 'latest-continuous', not 'instantaneous-values'.
- Site filter param is 'monitoring_location_id' (singular), not
  'monitoring_locations_id' (plural).
- Site identifier requires agency prefix in queries (USGS-NNNNN).
- feature.id is a per-record UUID, not stable; dedup uses joint key.

Ships disabled; operator enables via GUI after setting a bbox.
2026-05-19 16:50:21 +00:00

105 lines
3.9 KiB
JSON

{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "b28554ea-25f0-485c-ade2-0a4c73901768",
"geometry": {
"type": "Point",
"coordinates": [-90.2520730305021, 41.7805863501123]
},
"properties": {
"id": "b28554ea-25f0-485c-ade2-0a4c73901768",
"time_series_id": "fbe039224c874449ae574fe6668e11d8",
"monitoring_location_id": "USGS-05420500",
"parameter_code": "00060",
"statistic_id": "00011",
"time": "2026-05-19T15:30:00+00:00",
"value": "57800",
"unit_of_measure": "ft^3/s",
"approval_status": "Provisional",
"qualifier": null,
"last_modified": "2026-05-19T15:43:28.012704+00:00"
}
},
{
"type": "Feature",
"id": "8a4eb91f-1d33-4a02-9c4a-92c5b1ac0d12",
"geometry": {
"type": "Point",
"coordinates": [-91.6510, 41.6628]
},
"properties": {
"id": "8a4eb91f-1d33-4a02-9c4a-92c5b1ac0d12",
"time_series_id": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"monitoring_location_id": "USGS-05454500",
"parameter_code": "00060",
"statistic_id": "00011",
"time": "2026-05-19T15:30:00+00:00",
"value": "2110",
"unit_of_measure": "ft^3/s",
"approval_status": "Approved",
"qualifier": null,
"last_modified": "2026-05-19T15:40:00.000000+00:00"
}
},
{
"type": "Feature",
"id": "synthetic-non-usgs-record",
"geometry": {
"type": "Point",
"coordinates": [-93.98775, 40.01822222222222]
},
"properties": {
"id": "synthetic-non-usgs-record",
"time_series_id": "synth-mo005-ts-001",
"monitoring_location_id": "MO005-400105093591601",
"parameter_code": "00060",
"statistic_id": "00011",
"time": "2026-05-19T15:00:00+00:00",
"value": "12.5",
"unit_of_measure": "ft^3/s",
"approval_status": "Provisional",
"qualifier": null,
"last_modified": "2026-05-19T15:05:00.000000+00:00"
}
},
{
"type": "Feature",
"id": "synthetic-no-dash-record",
"geometry": {
"type": "Point",
"coordinates": [-92.0, 42.0]
},
"properties": {
"id": "synthetic-no-dash-record",
"time_series_id": "synth-nodash-ts",
"monitoring_location_id": "STANDALONE12345",
"parameter_code": "00060",
"statistic_id": "00011",
"time": "2026-05-19T14:45:00+00:00",
"value": "1.0",
"unit_of_measure": "ft^3/s",
"approval_status": "Provisional",
"qualifier": null,
"last_modified": "2026-05-19T14:50:00.000000+00:00"
}
}
],
"numberReturned": 4,
"links": [
{
"type": "application/json",
"rel": "self",
"title": "This document as JSON",
"href": "https://api.waterdata.usgs.gov/ogcapi/v0/collections/latest-continuous/items?f=json&parameter_code=00060&limit=1000"
},
{
"type": "application/json",
"rel": "collection",
"title": "Parent collection",
"href": "https://api.waterdata.usgs.gov/ogcapi/v0/collections/latest-continuous"
}
],
"timeStamp": "2026-05-19T16:00:00.000000+00:00"
}