186 NPDES permits · 132 MGD combined average flow
186 publicly owned wastewater treatment plants in Ohio hold NPDES permits that expire during 2027, issued by Ohio Environmental Protection Agency. The table lists each plant with its permit number, expiry month, average flow, treatment technology and three-year violation count, in order of expiry.
An NPDES permit runs for five years. To keep discharging, a plant must apply for renewal at least 180 days before the expiry date, and the renewed permit usually arrives with tighter effluent limits, new monitoring requirements or a compliance schedule. That is why the year a permit expires is the year a plant starts budgeting for upgrades: nutrient removal, disinfection, capacity or controls.
| Facility | City | Avg flow (MGD) | NPDES permit | Expires | Technology | Violations (3y) |
|---|---|---|---|---|---|---|
| Trumbull Mosquito Creek WWTP | Warren | 2.69 | OH0043401 | Jan 2027 | Clarifiers, Aerated lagoons | 44 |
| Bellefontaine WWTP | Bellefontaine | 1.62 | OH0024066 | Jan 2027 | Clarifiers, Uncovered lagoons, Carrousels / oxidation ditches | 18 |
| Toronto WWTP | Toronto | 0.22 | OH0020214 | Jan 2027 | Clarifiers, Biogas silos | 21 |
| Stark Co Magnolia WWTP | Canton | 0.19 | OH0091847 | Jan 2027 | Aerated lagoons | 0 |
| Ashtabula Co Coffee Creek WWTP | Austinburg | 0.09 | OH0098469 | Jan 2027 | — | 145 |
| Odot / Rest Area 3-36-Odot Rest Area 3-36 | Ashland | 0.0095 | OH0088269 | Jan 2027 | — | 23 |
| Tar Hollow State Park | Laurelville | 0.0018 | OH0037940 | Jan 2027 | — | 1 |
| Mt Victory WWTP | Mount Victory | — | OH0078271 | Jan 2027 | Uncovered lagoons | 10 |
| North Regional Wastewater Treatment Plan (0857143037) | Dayton | 7.07 | OH0049646 | Feb 2027 | Clarifiers, Carrousels / oxidation ditches, Biogas silos | 47 |
| Miamisburg Water Reclamation Facility | Miamisburg | 1.66 | OH0026492 | Feb 2027 | Clarifiers, Biogas silos | 0 |
| Woodbran Realty WWTP | Woodmere | 0.16 | OH0044555 | Feb 2027 | Uncovered lagoons | 10 |
| Leetonia WWTP | Leetonia | 0.13 | OH0021652 | Feb 2027 | Uncovered lagoons | 1 |
| Felicity WWTP | Felicity | 0.09 | OH0024597 | Feb 2027 | Clarifiers | 2 |
| Mill Creek Estates WWTP | Marysville | 0.02 | OH0070815 | Feb 2027 | — | 0 |
| Hammer Heinsman WWTP | Tiffin | 0.0079 | OH0039268 | Feb 2027 | — | 0 |
| Wintergreen Hills Subdiv WWTP | Circleville | 0.0064 | OH0036251 | Feb 2027 | — | 20 |
| Hoover Woods WWTP | Galena | 0.0062 | OH0101877 | Feb 2027 | — | 32 |
| Knollwood Village Subdiv WWTP | Circleville | 0.0056 | OH0036242 | Feb 2027 | — | 4 |
| Vienna WWTP No 1 | Vienna | 0.0052 | OH0097993 | Feb 2027 | — | 4 |
| Willow Hills WWTP | Chesterland | 0.0042 | OH0028894 | Feb 2027 | — | 7 |
| Odnr Beach Area W Branch Sp | Ravenna | 0.0035 | OH0037893 | Feb 2027 | — | 0 |
| Fox Den WWTP | Warren | 0.0034 | OH0112216 | Feb 2027 | — | 0 |
| Ranchwood Community | Bucyrus | 0.0029 | OH0125741 | Feb 2027 | — | 0 |
| Green Hills Coach Park Ltd | Kenton | 0.001 | OH0126918 | Feb 2027 | — | 58 |
| Edgerton WWTP | Edgerton | — | OH0021164 | Feb 2027 | Uncovered lagoons | 0 |
| Gary L Kron Water Reclamation Facility | Mentor | 9.35 | OH0043559 | Mar 2027 | Clarifiers, Biogas silos | 29 |
| Polk Run WWTP | Loveland | 3.35 | OH0020419 | Mar 2027 | Clarifiers | 4 |
| Fairfield Co Tussing Road WWTP | Lancaster | 1.81 | OH0054305 | Mar 2027 | Uncovered lagoons | 29 |
| Waynesville Regional WWTP | Waynesville | 0.44 | OH0020753 | Mar 2027 | Clarifiers | 25 |
| Clermont Co Commissioners Arrowhead Park STP | Loveland | 0.09 | OH0049310 | Mar 2027 | — | 1 |
| Hamden WWTP | Hamden | 0.04 | OH0134945 | Mar 2027 | — | 16 |
| Sugar Grove WWTP | Sugar Grove | 0.04 | OH0020401 | Mar 2027 | — | 0 |
| Dee Mar Allotment WWTP | Navarre | 0.02 | OH0035831 | Mar 2027 | — | 0 |
| Belle Vernon WWTP | Russell | 0.01 | OH0028827 | Mar 2027 | — | 2 |
| Kimberly Estates WWTP | Newbury | 0.0089 | OH0028835 | Mar 2027 | — | 0 |
| Wenhaven WWTP | Russell | 0.0031 | OH0028886 | Mar 2027 | — | 0 |
| City Of Dayton Water Reclamation Facility (0857100983) | Dayton | 38.22 | OH0024881 | Apr 2027 | Clarifiers, Biogas silos, Biogas balloons | 17 |
| Bowling Green | Bowling Green | 3.38 | OH0024139 | Apr 2027 | Uncovered lagoons | 13 |
| Millersburg WWTP | Millersburg | 0.43 | OH0020168 | Apr 2027 | Clarifiers, Uncovered lagoons, Carrousels / oxidation ditches | 9 |
| East Palestine WWTP | East Palestine | 0.41 | OH0021784 | Apr 2027 | Clarifiers, Aerated lagoons | 8 |
| Killbuck WWTP | Killbuck | 0.12 | OH0025933 | Apr 2027 | — | 1 |
| Frazeysburg WWTP | Frazeysburg | 0.07 | OH0020800 | Apr 2027 | — | 1 |
| Bloomdale WWTP | Bloomdale | 0.04 | OH0095176 | Apr 2027 | Clarifiers, Uncovered lagoons, Carrousels / oxidation ditches, Cooling towers | 10 |
| Mast Estates WWTP | Elida | 0.0062 | OH0037389 | Apr 2027 | — | 0 |
| Pike Lake State Park WWTP | Bainbridge | 0.0019 | OH0037699 | Apr 2027 | — | 0 |
| Mcconnelsvilles State Route 78 Package Sewer Plt | Mcconnelsville | 0.00066 | OH0107905 | Apr 2027 | — | 10 |
| Troy WWTP | Troy | 3.48 | OH0027758 | May 2027 | Clarifiers, Biogas silos | 13 |
| City Of Salem - Wastewater Plant | Salem | 1.71 | OH0027324 | May 2027 | Clarifiers, Aerated lagoons, Uncovered lagoons, Carrousels / oxidation ditches, Biogas balloons | 5 |
| Creston STP | Creston | 0.14 | OH0021172 | May 2027 | Clarifiers, Carrousels / oxidation ditches | 13 |
| West Alexandria WWTP | W Alexandria | 0.11 | OH0021598 | May 2027 | — | 13 |
| New Madison STP | New Madison | 0.08 | OH0040584 | May 2027 | — | 5 |
| Country Lawn Ctr For Rehab Nursing Home | Navarre | 0.01 | OH0129461 | May 2027 | — | 0 |
| Pleasant View Acres WWTP | Mount Vernon | 0.01 | OH0081671 | May 2027 | Aerated lagoons, Uncovered lagoons | 2 |
| Louisville WWTP | Louisville | 1.07 | OH0026182 | Jun 2027 | Clarifiers, Uncovered lagoons | 1 |
| Dalton WWTP | Dalton | 0.23 | OH0021687 | Jun 2027 | Clarifiers, Uncovered lagoons, Carrousels / oxidation ditches | 28 |
| Rockford STP | Rockford | 0.2 | OH0022446 | Jun 2027 | Aerated lagoons | 12 |
| Ottoville WWTP | Ottoville | 0.13 | OH0021709 | Jun 2027 | Uncovered lagoons | 19 |
| Syracuse-Racine Regional Sd WWTP | Racine | 0.13 | OH0050661 | Jun 2027 | Clarifiers, Carrousels / oxidation ditches | 0 |
| Put-In-Bay STP | Put In Bay | 0.12 | OH0022322 | Jun 2027 | — | 1 |
| Orwell WWTP | Orwell | 0.05 | OH0026913 | Jun 2027 | Clarifiers, Aerated lagoons, Uncovered lagoons, Carrousels / oxidation ditches | 40 |
| Walnut Heights Subdiv | Circleville | 0.01 | OH0101834 | Jun 2027 | — | 19 |
| Flat Branch WWTP | East Liberty | 0.01 | OH0047953 | Jun 2027 | — | 5 |
| Ursuline College | Pepper Pike | 0.0092 | OH0044784 | Jun 2027 | — | 15 |
| Gates Mills WWTP | Gates Mills | 0.0078 | OH0128643 | Jun 2027 | — | 1 |
| Forest Lane Subdiv | Wapakoneta | 0.0022 | OH0095265 | Jun 2027 | — | 2 |
| Bigham'S Apartments WWTP | Amanda | 0.001 | OH0124010 | Jun 2027 | Uncovered lagoons | 1 |
| Bidwell Porter WWTP | Bidwell | — | OH0124664 | Jun 2027 | Aerated lagoons, Uncovered lagoons | 0 |
| Alliance Water Tr. Plant And Wastewater Tr. Plant | Alliance | 3.6 | OH0023868 | Jul 2027 | Clarifiers, Uncovered lagoons, Biogas silos, Biogas balloons | 0 |
| Mcfarland Creek WWTP | Bainbridge | 0.97 | OH0043494 | Jul 2027 | — | 346 |
| Atwood Regional W & Sd | Dellroy | 0.31 | OH0050253 | Jul 2027 | Uncovered lagoons | 7 |
| Farmersville WWTP | Farmersville | 0.12 | OH0020770 | Jul 2027 | — | 2 |
| Rock Hill Local School District | Ironton | 0.03 | OH0127761 | Jul 2027 | — | 0 |
| Cloverleaf Jr & Sr Hs | Lodi | 0.01 | OH0126217 | Jul 2027 | — | 14 |
| Lakeland Woods Sd | Bryan | 0.01 | OH0079103 | Jul 2027 | — | 4 |
| Rolin Acres Subdiv WWTP | Greenville | 0.0076 | OH0085561 | Jul 2027 | — | 4 |
| Portage Point Condos & Oak Harbor Golf Club | Oak Harbor | 0.0066 | OH0125661 | Jul 2027 | — | 11 |
| Surrey Downs WWTP | Russell | 0.0041 | OH0028878 | Jul 2027 | — | 3 |
| Rolling Acres WWTP | Hillsboro | 0.0023 | OH0041165 | Jul 2027 | — | 8 |
| Deshler WWTP | Deshler | — | OH0022471 | Jul 2027 | Uncovered lagoons | 0 |
| Metamora WWTP | Metamora | — | OH0058408 | Jul 2027 | Aerated lagoons, Uncovered lagoons | 4 |
| Stryker STP | Stryker | — | OH0022497 | Jul 2027 | Aerated lagoons, Uncovered lagoons | 4 |
| Westwood Acres Subdiv | Fremont | — | OH0036501 | Jul 2027 | — | 6 |
| Fostoria City Dump | Fostoria | 2.42 | OH0052744 | Aug 2027 | Clarifiers, Uncovered lagoons | 4 |
| Taylor Creek WWTP | Cleves | 2.38 | OH0040983 | Aug 2027 | Clarifiers | 11 |
| Piqua WWTP | Piqua | 2.18 | OH0027049 | Aug 2027 | Clarifiers, Carrousels / oxidation ditches, Biogas silos | 3 |
| City Of Vermilion WPCF | Vermilion | 0.76 | OH0023612 | Aug 2027 | Clarifiers, Biogas silos | 35 |
| Aberdeen WWTP | Aberdeen | 0.18 | OH0023825 | Aug 2027 | Clarifiers | 38 |
| Cridersville Village | Cridersville | 0.17 | OH0020222 | Aug 2027 | Uncovered lagoons | 5 |
| Nws Williamsburg On The River WWTP | Bowling Green | 0.02 | OH0079201 | Aug 2027 | — | 5 |
| Williams Co/hillside Country Living WWTP | Bryan | 0.02 | OH0079090 | Aug 2027 | — | 4 |
| Fairlane Estates WWTP & Sewers | Suffield | 0.01 | OH0038709 | Aug 2027 | — | 0 |
| Lake Moor Estates Subdiv | Logan | 0.0094 | OH0050237 | Aug 2027 | — | 3 |
| Hickory Hills WWTP | Kirtland | 0.0089 | OH0036803 | Aug 2027 | — | 14 |
| Sunshine Acres WWTP & Sewer System | Painesville | 0.0061 | OH0039021 | Aug 2027 | — | 0 |
| Shawnee State Park Campground WWTP | Portsmouth | 0.004 | OH0037885 | Aug 2027 | — | 2 |
| Odot Park No 1-30 | Carey | 0.0014 | OH0078611 | Aug 2027 | — | 5 |
| Peachgrove Townhouse Condos | Cincinnati | 0.0013 | OH0118028 | Aug 2027 | — | 27 |
| Odot Dist 1 Park No 1-29 | Carey | 0.0011 | OH0078603 | Aug 2027 | — | 4 |
| Plain City WWTP | Plain City | 0.7 | OH0027057 | Sep 2027 | — | 158 |
| Aurora Central WWTP | Aurora | 0.56 | OH0021903 | Sep 2027 | Clarifiers, Carrousels / oxidation ditches | 1 |
| Hartville WWTP | Hartville | 0.26 | OH0020923 | Sep 2027 | Clarifiers, Aerated lagoons | 1 |
| Malvern Water Pollution Control Center | Malvern | 0.21 | OH0051144 | Sep 2027 | Clarifiers | 0 |
| Swanton WRRF | Swanton | 0.19 | OH0020524 | Sep 2027 | — | 41 |
| Fredericktown Village-Fredericktown WTP | Fredericktown | 0.14 | OH0025283 | Sep 2027 | Clarifiers, Aerated lagoons, Carrousels / oxidation ditches, Biogas silos | 0 |
| Atwater WWTP | Ravenna | 0.05 | OH0038792 | Sep 2027 | — | 6 |
| Ashtabula Co Holiday Camplands WWTP | Andover | 0.05 | OH0043770 | Sep 2027 | — | 72 |
| Laura WWTP | Laura | 0.04 | OH0112704 | Sep 2027 | — | 0 |
| Chesterville WWTP | Chesterville | 0.03 | OH0124478 | Sep 2027 | — | 10 |
| Springwood Lake Camp Club WWTP | Navarre | 0.02 | OH0128503 | Sep 2027 | — | 28 |
| Bazetta WWTP | Cortland | 0.02 | OH0092550 | Sep 2027 | — | 30 |
| Skyridge Apartment Homes | Cincinnati | 0.02 | OH0071803 | Sep 2027 | — | 2 |
| South Webster WWTP | South Webster | 0.01 | OH0041416 | Sep 2027 | — | 94 |
| Honey Creek Village | Tiffin | 0.01 | OH0122327 | Sep 2027 | — | 4 |
| Latty WWTP | Latty | 0.01 | OH0058246 | Sep 2027 | — | 27 |
| Salt Fork Sp Lodge & Cabin WWTP | Lore City | 0.0061 | OH0037851 | Sep 2027 | — | 0 |
| Salt Fork Sp Campground WWTP | Lore City | 0.005 | OH0037834 | Sep 2027 | — | 0 |
| Odot Rest Area 5-27 | Old Washington | 0.0038 | OH0076791 | Sep 2027 | — | 10 |
| Beverly Hills Subdiv | Wapakoneta | 0.0033 | OH0078760 | Sep 2027 | — | 0 |
| Lhs Maumee Youth Center | Liberty Center | 0.0031 | OH0052566 | Sep 2027 | — | 5 |
| Salt Fork Sp Marina WWTP | Lore City | 0.00017 | OH0090999 | Sep 2027 | — | 0 |
| French Creek WWTP | North Ridgeville | 4.98 | OH0044512 | Oct 2027 | Carrousels / oxidation ditches | 5 |
| Minster WWTP | Minster | 1.52 | OH0026573 | Oct 2027 | Clarifiers, Uncovered lagoons, Carrousels / oxidation ditches, Biogas balloons | 18 |
| Mingo Junction STP | Mingo Junction | 0.44 | OH0026565 | Oct 2027 | Clarifiers, Carrousels / oxidation ditches | 8 |
| Shreve WWTP | Shreve | 0.41 | OH0045373 | Oct 2027 | Clarifiers | 8 |
| Anna STP | Anna | 0.14 | OH0023370 | Oct 2027 | Clarifiers, Carrousels / oxidation ditches | 31 |
| Liberty Center WWTP | Liberty Center | 0.1 | OH0029289 | Oct 2027 | Uncovered lagoons | 2 |
| Danville WWTP | Danville | 0.08 | OH0024872 | Oct 2027 | Aerated lagoons | 15 |
| Haskins WWTP | Haskins | 0.07 | OH0021873 | Oct 2027 | — | 9 |
| Grandview Estates Sd 2a | Marion | 0.03 | OH0036765 | Oct 2027 | Uncovered lagoons | 27 |
| Sycamore WWTP | Sycamore | 0.02 | OH0021989 | Oct 2027 | — | 15 |
| Scarsdale WWTP | Chagrin Falls | 0.02 | OH0028916 | Oct 2027 | — | 0 |
| Norlick Place WWTP | Bryan | 0.02 | OH0058831 | Oct 2027 | — | 31 |
| Country Acres Golf Club | Ottawa | 0.01 | OH0079057 | Oct 2027 | — | 15 |
| Hidden Acres Campground Inc | West Salem | 0.0083 | OH0138665 | Oct 2027 | — | 3 |
| Western Reserve Elem Jr & Sr Hs | Collins | 0.0068 | OH0125776 | Oct 2027 | — | 17 |
| Harmony Subdiv Sd 5b | Marion | 0.0034 | OH0078387 | Oct 2027 | — | 29 |
| Bumford Road WWTP Sd 6a | Marion | 0.0015 | OH0036757 | Oct 2027 | — | 2 |
| Orlandos Supermarket Center | North Kingsville | 0.00024 | OH0129101 | Oct 2027 | — | 0 |
| Vermilion Vfw Post 7576 | Vermilion | 0.0002 | OH0130117 | Oct 2027 | — | 2 |
| Holgate WWTP | Holgate | — | OH0021865 | Oct 2027 | Uncovered lagoons | 1 |
| Nettle Lake Area STP | Pioneer | — | OH0053376 | Oct 2027 | Uncovered lagoons | 0 |
| Rawson WWTP | Rawson | — | OH0047791 | Oct 2027 | Uncovered lagoons | 0 |
| Republic WWTP | Republic | — | OH0130249 | Oct 2027 | Aerated lagoons, Uncovered lagoons | 0 |
| Black River Wastewater Treatment Plant | Lorain | 7.69 | OH0026093 | Nov 2027 | Clarifiers, Biogas silos | 6 |
| Indian Lake Regional WWTP | Russells Point | 1.03 | OH0036641 | Nov 2027 | Clarifiers | 2 |
| Montpelier WWTP | Montpelier | 0.53 | OH0021831 | Nov 2027 | Clarifiers, Uncovered lagoons, Biogas balloons | 1 |
| West Unity STP | West Unity | 0.23 | OH0020303 | Nov 2027 | Clarifiers, Carrousels / oxidation ditches | 22 |
| Twin Lakes WWTP | Kent | 0.15 | OH0038580 | Nov 2027 | — | 0 |
| Millersport STP | Millersport | 0.1 | OH0026531 | Nov 2027 | — | 3 |
| Edon WWTP | Edon | 0.04 | OH0095141 | Nov 2027 | — | 17 |
| Mcguffey STP | Mcguffey | 0.03 | OH0026271 | Nov 2027 | Carrousels / oxidation ditches | 156 |
| Rushsylvania WWTP | Rushsylvania | 0.03 | OH0020575 | Nov 2027 | Aerated lagoons, Carrousels / oxidation ditches | 7 |
| Lafayette WWTP | Lafayette | 0.02 | OH0053155 | Nov 2027 | Clarifiers, Uncovered lagoons | 7 |
| Evansport WWTP | Evansport | 0.02 | OH0053694 | Nov 2027 | — | 0 |
| Meadowbrook Mhp | Lockbourne | 0.01 | OH0113638 | Nov 2027 | — | 20 |
| Western Reserve WWTP | Ravenna | 0.01 | OH0038547 | Nov 2027 | — | 2 |
| Glenford WWTP | Glenford | 0.0082 | OH0139963 | Nov 2027 | — | 122 |
| Westfall High School | Williamsport | 0.0073 | OH0130770 | Nov 2027 | — | 32 |
| Hickory Hills WWTP | Bryan | 0.0055 | OH0079073 | Nov 2027 | — | 19 |
| Odot Dist 1 Park No 1-26 & 25 | Lima | 0.004 | OH0078590 | Nov 2027 | — | 5 |
| Maplewood Subdiv | Steubenville | 0.004 | OH0076350 | Nov 2027 | — | 48 |
| Evergreen Lane Office Complex | Defiance | 0.001 | OH0053490 | Nov 2027 | — | 0 |
| Hamler WWTP | Hamler | — | OH0021105 | Nov 2027 | Uncovered lagoons | 62 |
| Maumee River Wastewater Treatment Plant | Waterville | 11.65 | OH0034223 | Dec 2027 | Clarifiers, Biogas balloons | 15 |
| Sidney WWTP | Sidney | 3.42 | OH0027421 | Dec 2027 | Clarifiers, Biogas silos | 10 |
| Clyde WWTP | Clyde | 1.28 | OH0024686 | Dec 2027 | Clarifiers, Carrousels / oxidation ditches | 16 |
| Gallipolis WPCF | Gallipolis | 1.11 | OH0020478 | Dec 2027 | Clarifiers, Uncovered lagoons, Biogas silos | 5 |
| Hillsboro WWTP | Hillsboro | 0.94 | OH0020389 | Dec 2027 | Clarifiers, Aerated lagoons | 6 |
| St Clairsville WWTP | St Clairsville | 0.33 | OH0027294 | Dec 2027 | Clarifiers | 3 |
| Oak Hill WWTP | Oak Hill | 0.2 | OH0026859 | Dec 2027 | Clarifiers | 0 |
| Beach City WWTP | Beach City | 0.11 | OH0045489 | Dec 2027 | Clarifiers | 23 |
| Madison Co Sewer Dist No 1 | London | 0.04 | OH0102041 | Dec 2027 | — | 9 |
| Mechanicsburg WWTP | Mechanicsburg | 0.04 | OH0022209 | Dec 2027 | Uncovered lagoons | 247 |
| Russell Park WWTP | Russell | 0.04 | OH0028860 | Dec 2027 | — | 0 |
| Portage Co Red Fox WWTP | Shalersville | 0.04 | OH0038601 | Dec 2027 | — | 0 |
| Coalton WWTP | Coalton | 0.04 | OH0050776 | Dec 2027 | — | 17 |
| South Vienna Village WWTP | South Vienna | 0.03 | OH0105198 | Dec 2027 | Aerated lagoons, Uncovered lagoons | 1 |
| West Manchester WWTP | West Manchester | 0.01 | OH0127540 | Dec 2027 | — | 7 |
| Ashtabula Co Meadowood Allotmt WWTP | Ashtabula | 0.01 | OH0043800 | Dec 2027 | — | 35 |
| Villa Vista Mhp | Heath | 0.0098 | OH0124362 | Dec 2027 | — | 14 |
| Queen City Mhp | Chillicothe | 0.0041 | OH0125148 | Dec 2027 | — | 2 |
| Cecil WWTP | Cecil | 0.003 | OH0029238 | Dec 2027 | Uncovered lagoons | 13 |
| Odnr Lake Hope State Park | Zaleski | 0.0027 | OH0090972 | Dec 2027 | — | 0 |
| Bruewer Woodwork Mfg. Co. (1431473393) | Cleves | 0.0024 | OH0118931 | Dec 2027 | — | 2 |
| Walnut Elementary School | Ashville | 0.0017 | OH0130800 | Dec 2027 | — | 17 |
| Camp Campbell Gard | Hamilton | 0.0014 | OH0131865 | Dec 2027 | — | 0 |
Sources and methodology
Flow, permit and violation figures come from the EPA's ICIS-NPDES discharge monitoring records. Population served comes from the Clean Watersheds Needs Survey 2022. Treatment structures are identified by Klarifi's review of aerial imagery, and capital improvement projects are extracted from published municipal budget documents. Violations are counted over the last three years of monitoring reports.
Data refreshed September 11, 2026.