Watermark.
Fort Wayne GCP
Switch site 35 sites · 10 basins2 states Group by
OH Ohio 34
BOSC BOSC Lima Ottawa River · Lima, OH Building Under construction #1261 URB Urbana Mad River · Great Miami Live Investigating #1263 DEF Defiance Maumee mainstem Queued Investigating #1264 FIN Findlay Blanchard River Queued Investigating #1265 TOL Toledo Lucas Co WRRF Queued Investigating #1266 VWT Van Wert Town Creek · Little Auglaize Queued Investigating #1267 BRY Bryan Prairie Creek · Tiffin River Queued Investigating #1268 OTW Ottawa Blanchard River (lower) Queued Investigating #1269 SPR Springfield Mad River · Great Miami Queued Investigating #1270 XEN Xenia Little Miami Queued Investigating #1271 WPA Dayton · WPAFB Mad River · Great Miami Queued Investigating #1272 HAM Hamilton · Middletown Great Miami (lower) Queued Investigating #1273 TRP Troy · Piqua Great Miami (upper) Queued Investigating #1274 SID Sidney Great Miami · headwaters Queued Investigating #1275 GRV Greenville · Darke Co Stillwater · basin divide Queued Investigating #1276 WIL Wilmington Todd Fork · Little Miami Queued Investigating #1277 WUN West Union · Adams Co Ohio Brush Creek · Ohio River Queued Investigating #1278 NAL New Albany · Licking Scioto ↔ Muskingum divide Tracking Investigating #1279 COL Columbus Scioto · Olentangy Tracking Investigating #1280 CSH Coshocton Tuscarawas + Walhonding Tracking Investigating #1281 PIK Piketon Scioto River · PORTS Tracking Investigating #1282 SAN Sandusky · Perkins Twp Sandusky Bay · Lake Erie Tracking Investigating #1283 NWK Newark Licking River Tracking Investigating #1284 ZAN Zanesville Muskingum mainstem Tracking Investigating #1285 FRE Fremont · Clyde Lower Sandusky Tracking Investigating #1286 TIF Tiffin Sandusky (mid) Tracking Investigating #1287 BUC Bucyrus Sandusky headwaters Tracking Investigating #1288 CLE Cleveland Lower Cuyahoga Tracking Investigating #1289 AKR Akron Upper Cuyahoga · CVNP Tracking Investigating #1290 LRD Lordstown · Warren Upper Mahoning Tracking Investigating #1291 YNG Youngstown Mahoning mainstem Tracking Investigating #1292 LAN Lancaster Upper Hocking Tracking Investigating #1293 ATH Athens Lower Hocking Tracking Investigating #1294 LOG Logan Hocking Hills Tracking Investigating #1295
MAU Maumee Basin 8 sites
2MI The Two Miamis 9 sites
SE Southeastern Basins 10 sites
NE Northeast Basins 8 sites
Each site is a section of the Watermark platform — pivoted by basinstate. Live & building sites open; queued and tracking sites route to their coming-soon / watch page.
Switch site 35 sites · 10 basins2 states 35 open Group by

Each site is one Watermark investigation. The page color says what opens; the campus line is the build on the ground — two different clocks.

OH Ohio 34
BOSC BOSC Lima Ottawa River · Lima, OH Draft Under construction #1261 URB Urbana Mad River · Great Miami Open Investigating #1263 DEF Defiance Maumee mainstem Queued Investigating #1264 FIN Findlay Blanchard River Queued Investigating #1265 TOL Toledo Lucas Co WRRF Queued Investigating #1266 VWT Van Wert Town Creek · Little Auglaize Queued Investigating #1267 BRY Bryan Prairie Creek · Tiffin River Queued Investigating #1268 OTW Ottawa Blanchard River (lower) Queued Investigating #1269 SPR Springfield Mad River · Great Miami Queued Investigating #1270 XEN Xenia Little Miami Queued Investigating #1271 WPA Dayton · WPAFB Mad River · Great Miami Queued Investigating #1272 HAM Hamilton · Middletown Great Miami (lower) Queued Investigating #1273 TRP Troy · Piqua Great Miami (upper) Queued Investigating #1274 SID Sidney Great Miami · headwaters Queued Investigating #1275 GRV Greenville · Darke Co Stillwater · basin divide Queued Investigating #1276 WIL Wilmington Todd Fork · Little Miami Queued Investigating #1277 WUN West Union · Adams Co Ohio Brush Creek · Ohio River Queued Investigating #1278 NAL New Albany · Licking Scioto ↔ Muskingum divide Watching Investigating #1279 COL Columbus Scioto · Olentangy Watching Investigating #1280 CSH Coshocton Tuscarawas + Walhonding Watching Investigating #1281 PIK Piketon Scioto River · PORTS Watching Investigating #1282 SAN Sandusky · Perkins Twp Sandusky Bay · Lake Erie Watching Investigating #1283 NWK Newark Licking River Watching Investigating #1284 ZAN Zanesville Muskingum mainstem Watching Investigating #1285 FRE Fremont · Clyde Lower Sandusky Watching Investigating #1286 TIF Tiffin Sandusky (mid) Watching Investigating #1287 BUC Bucyrus Sandusky headwaters Watching Investigating #1288 CLE Cleveland Lower Cuyahoga Watching Investigating #1289 AKR Akron Upper Cuyahoga · CVNP Watching Investigating #1290 LRD Lordstown · Warren Upper Mahoning Watching Investigating #1291 YNG Youngstown Mahoning mainstem Watching Investigating #1292 LAN Lancaster Upper Hocking Watching Investigating #1293 ATH Athens Lower Hocking Watching Investigating #1294 LOG Logan Hocking Hills Watching Investigating #1295
MAU Maumee Basin 8 sites
2MI The Two Miamis 9 sites
SE Southeastern Basins 10 sites
NE Northeast Basins 8 sites
The page — what opens on Watermark Open · Draftfull record Queued · Watchingpreview page Restrictedrequest access
The campus — the build on the ground Investigating Confirmed Under construction Operational
Live

← The record · All reference data

Network NPDES inventories (EPA ECHO)

Verified inventories of CWA-permitted facilities per watershed basin, pulled from EPA’s ECHO Clean Water Act REST services (cwa_rest_services). Every facility, NPDES ID, and value here was returned by the ECHO API — nothing is fabricated, inferred, or filled in. Three basins are committed today, each with its own <basin>-wwtp.* fileset: the Maumee (watermark npdes, the default), the Great Miami (watermark npdes --basin great-miami, the Miami-basin sites — Urbana, Springfield, WPAFB, Troy-Piqua, Hamilton-Middletown), and the Little Miami (watermark npdes --basin little-miami, the Scenic-River sites Xenia and Wilmington / Todd Fork, a single HUC-8 05090202). One further basin is registered in the connector but not yet committed: the Scioto (--basin scioto, the Columbus / New Albany data-center cluster) — deferred on an ECHO 300/hr throttle (HTTP 429). Run watermark npdes --basin scioto to write its <basin>-wwtp.* fileset when ECHO is healthy. Add a basin by registering it in watermark.hydrology.connectors.echo; never hardcode one into the connector.

What the watershed is

Seven USGS HUC-8 subbasins (subregion 0410, Western Lake Erie), queried one at a time via p_huc:

HUC-8subbasinstates
04100003St. JosephIN, MI, OH
04100004St. MarysIN, OH
04100005Upper MaumeeIN, OH
04100006TiffinOH, MI
04100007AuglaizeOH
04100008BlanchardOH
04100009Lower MaumeeOH

Adjacent WLE subbasins 04100001 (Ottawa-Stony), 04100002 (Raisin), and 04100010 (Cedar-Portage) are not Maumee drainage and are excluded.

Files

Structured YAML, each with a meta: provenance block. null is a genuine ECHO null (never an estimate); true/false flags are booleans.

  • maumee-wwtp.all-npdes.yamlmeta: + facilities: list of all active CWA-permitted facilities ECHO returns for the seven HUC-8s, deduplicated to one record per facility by FRS Registry ID (POTW + non-POTW + federal + private/package).
  • maumee-wwtp.potw.yaml — same shape, restricted to the subset flagged POTW by ECHO’s CWPFacilityTypeIndicator (municipal plants).
  • maumee-wwtp.huc-counts.yamlhuc_counts: per-HUC manifest (ECHO’s reported count vs. rows actually pulled — they match, no pagination loss) plus totals: (raw / deduped / potw).

Method

Per HUC-8: get_facilities (p_huc=<HUC8>, p_act=Y) returns a QID + summary count; get_qid pages the rows as JSON, columns selected by name (mapped to ECHO ColumnIDs). Deduplication keys on FRS Registry ID; a facility holding multiple permits keeps its primary NPDES ID with the rest in npdes_ids_secondary. Two distinct FRS IDs sharing a name are never collapsed.

Verified against cwa_rest_services metadata CWA v2017-10-13 1325 (260 result columns). Numbers come from the API’s structured fields, not any text layer.

Headline counts (last pull)

1,057 active-permit rows across the 7 HUC-8s → 1,006 facilities after FRS dedup: 129 POTW, 875 non-POTW, 2 federal. POTW design flow present for 112/129 (the 17 blanks are mostly Michigan general-permit stabilization lagoons that don’t report a design-flow number).

Great Miami River basin (great-miami-wwtp.*, #446/#455)

The Great Miami (subregion 0508, an Ohio River tributary) is two Ohio HUC-8 subbasins — same p_huc method and field shape as the Maumee, but the Lima-specific in_lima_subbasin / ottawa_discharge flags are omitted (a Maumee-only concept):

HUC-8subbasin
05080001Upper Great Miami (includes the Mad River)
05080002Lower Great Miami

Whitewater (05080003) is predominantly Indiana drainage and is excluded (mirroring the Maumee’s excluded WLE neighbors). Last pull: 289 active-permit rows across the 2 HUC-8s → 286 facilities after FRS dedup, 81 POTW. The City of Springfield WWTP (OH0027481, 25 MGD, → Mad River) is present, but ECHO carries no receiving-water value for it, so the basin-screen reports it unscreened rather than guess (same gap as Lima WWTP, caveat 5). Files: great-miami-wwtp.all-npdes.yaml, great-miami-wwtp.potw.yaml, great-miami-wwtp.huc-counts.yaml.

Known gaps & caveats (read before using)

  1. No CWNS ID. The ECHO CWA facility service has no CWNS column, so the requested CWNS cross-check for POTWs is not available from this API. POTW classification here rests solely on CWPFacilityTypeIndicator. (CWNS IDs would have to come from the Clean Watersheds Needs Survey, separately.)

  2. HUC geocoding (WATERS). ECHO links facilities to HUCs via WATERS; not every NPDES ID geocodes, so a pure watershed query can miss facilities whose coordinates didn’t resolve. RadWBDHu8 is frequently null in the raw data — we use FacDerivedHuc (which reliably reflects the queried HUC-8) instead.

  3. Cross-state completeness. Four subbasins (St. Joseph, St. Marys, Upper Maumee, Tiffin) extend into Indiana and/or Michigan. ECHO’s p_huc did return IN/MI facilities (e.g. Auburn IN, Amboy Twp MI), but for a complete inventory this pull should still be cross-checked against Ohio EPA, Indiana IDEM, and Michigan EGLE NPDES permit lists; any facility in a state list but absent from ECHO should be flagged. (Not yet performed — those state datasets are a follow-up; this is an ECHO-only inventory.)

  4. “All” is the active CWA universe, not just process wastewater. p_act=Y includes some non-NPDES Industrial-User/pretreatment permits and stormwater general permits alongside true wastewater dischargers. The permit_type (CWPPermitTypeDesc) and facility_type fields make the distinction visible — filter on them rather than assuming every record is a wastewater outfall.

  5. ottawa_discharge undercounts. This optional flag is keyed on ECHO’s CWPStateWaterBodyName string, which is null for ~70% of the Ohio rows — including Lima WWTP (OH0026069, 18.5 MGD), the largest Lima-area POTW, which discharges to the Ottawa River but has no receiving-water value in ECHO. Per the “no inference” rule we do not backfill it. Use in_lima_subbasin (every Auglaize + Blanchard record) plus county for the broad Lima/Allen screen, and treat ottawa_discharge: true as a floor, not a complete list.

Field reference

Each entry under facilities: carries these keys (null = ECHO returned nothing):

fieldECHO ObjectNamenote
frs_registry_idRegistryIDdedup key
nameCWPName
npdes_idSourceIDprimary permit
npdes_ids_secondary(from NPDESIDs)list of other permits at the facility
ownershipderivedFederal / POTW / NON-POTW
facility_typeCWPFacilityTypeIndicatorPOTW vs NON-POTW
permit_typeCWPPermitTypeDescNPDES vs non-NPDES, individual vs general
design_flow_mgdCWPTotalDesignFlowNmbrnull = ECHO returned no value
design_flow_missingderivedtrue when design_flow_mgd is null
receiving_waterCWPStateWaterBodyNamesparse for OH
huc8 / huc8_nameFacDerivedHuc
huc12RadWBDHuc12
countyFacCountyName
latitude / longitudeFacLat / FacLong
compliance_statusCWPSNCStatuscurrent CWA status
informal_enf_count / formal_enf_countCWPInformalEnfActCount / CWPFormalEaCnt
in_lima_subbasinderivedtrue for Auglaize or Blanchard
ottawa_dischargederivedboolean; see caveat 5
queried_huc8the p_huc this record was returned under

Cataloged datasets — generated from data/catalog/reference/; run watermark catalog render --apply after editing an entry.

echo-great-miami-wwtp — Great Miami-basin NPDES discharger inventory (EPA ECHO)

Source: EPA ECHO — cwa_rest_services (CWA v2017-10-13) · License: U.S. Government work (public domain) · Access: throttled · Site scope: basin:great-miami · Refresh: quarterly (ttl 180d)

Regenerate: watermark npdes --basin great-miami

filetypelfs
reference/echo/great-miami-wwtp.all-npdes.yamlapplication/x-yamlno
reference/echo/great-miami-wwtp.huc-counts.yamlapplication/x-yamlno
reference/echo/great-miami-wwtp.potw.yamlapplication/x-yamlno

echo-little-miami-wwtp — Little Miami-basin NPDES discharger inventory (EPA ECHO)

Source: EPA ECHO — cwa_rest_services (CWA v2017-10-13) · License: U.S. Government work (public domain) · Access: throttled · Site scope: basin:little-miami · Refresh: quarterly (ttl 180d)

Regenerate: watermark npdes --basin little-miami

filetypelfs
reference/echo/little-miami-wwtp.all-npdes.yamlapplication/x-yamlno
reference/echo/little-miami-wwtp.huc-counts.yamlapplication/x-yamlno
reference/echo/little-miami-wwtp.potw.yamlapplication/x-yamlno

echo-maumee-npdes — Maumee-basin NPDES discharger inventory (EPA ECHO)

Source: EPA ECHO — cwa_rest_services (CWA v2017-10-13) · License: U.S. Government work (public domain) · Access: throttled · Site scope: basin:maumee · Refresh: quarterly (ttl 180d)

Regenerate: watermark npdes --basin maumee

filetypelfs
reference/echo/maumee-wwtp.all-npdes.yamlapplication/x-yamlno
reference/echo/maumee-wwtp.potw.yamlapplication/x-yamlno
reference/echo/maumee-wwtp.huc-counts.yamlapplication/x-yamlno