{"permit":"GA0023141","name":"City of Madison","state":"GA","as_of":"2026-10-22","source":{"publisher":"U.S. EPA — ECHO / ICIS-NPDES national file","as_of":"2026-10-22","page":"/dmr/p/GA0023141"},"about":[{"label":"What it is","text":"Sewage treatment plant"},{"label":"Where","text":"Madison, Georgia","href":"https://www.openstreetmap.org/?mlat=33.586798&mlon=-83.449317#map=14/33.586798/-83.449317"},{"label":"Last 12 months","text":"Over a limit 4 times, last in September 2026 (Chlorine, total residual; pH). 6 required values not reported. 2 of 12 reports filed late"},{"label":"Permit","text":"In force until Nov 30, 2029"}],"renewal_due":null,"renewal_check":null,"sector":null,"limits_from_version":null,"record":{"last_filed":"2026-09-30","over":4,"over_by":[["Chlorine, total residual",3],["pH",1]],"window":["2025-10-01","2026-09-30"]},"over_limits":[{"parameter":"Chlorine, total residual","times":3,"find_limits":{"parameter":"chlorine","place":"US-GA","medium":"surface_water"},"get":"https://passage-data.com/api/v1/limits?parameter=chlorine&place=US-GA&medium=surface_water"},{"parameter":"pH","times":1,"find_limits":{"parameter":"ph","place":"US-GA","medium":"surface_water"},"get":"https://passage-data.com/api/v1/limits?parameter=ph&place=US-GA&medium=surface_water"}],"upcoming":[{"parameter":"Phosphorus, total [as P]","outfall":"001","limit":0.76,"unit":"mg/L","statistic":"monthly average","statistic_code":"MK","begin":"2027-12-01","kind":"new","now":{"median":3.8,"n":11},"times_limit":5},{"parameter":"Phosphorus, total [as P]","outfall":"001","limit":4.2,"unit":"lb/d","statistic":"monthly average","statistic_code":"MK","begin":"2027-12-01","kind":"new","now":null},{"parameter":"Phosphorus, total [as P]","outfall":"001","limit":1.1,"unit":"mg/L","statistic":"weekly average","statistic_code":"WA","begin":"2027-12-01","kind":"new","now":null},{"parameter":"Phosphorus, total [as P]","outfall":"001","limit":5.2,"unit":"lb/d","statistic":"weekly average","statistic_code":"WA","begin":"2027-12-01","kind":"new","now":null}],"limits":[{"outfall":"001","parameter":"Oxygen, dissolved [DO]","parameter_code":"00300","statistic":"minimum","qualifier":">=","value":"6","unit":"mg/L","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"BOD, 5-day, 20 deg. C","parameter_code":"00310","statistic":"monthly average","qualifier":"<=","value":"25","unit":"mg/L","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"BOD, 5-day, 20 deg. C","parameter_code":"00310","statistic":"weekly average","qualifier":"<=","value":"37.5","unit":"mg/L","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"BOD, 5-day, 20 deg. C","parameter_code":"00310","statistic":"monthly average","qualifier":"<=","value":"138","unit":"lb/d","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"BOD, 5-day, 20 deg. C","parameter_code":"00310","statistic":"weekly average","qualifier":"<=","value":"172","unit":"lb/d","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"BOD, 5-day, 20 deg. C","parameter_code":"00310","statistic":"monthly average","qualifier":null,"value":null,"unit":"mg/L","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"BOD, 5-day, 20 deg. C","parameter_code":"00310","statistic":"weekly average","qualifier":null,"value":null,"unit":"mg/L","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"BOD, 5-day, 20 deg. C","parameter_code":"00310","statistic":"monthly average","qualifier":null,"value":null,"unit":"lb/d","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"BOD, 5-day, 20 deg. C","parameter_code":"00310","statistic":"weekly average","qualifier":null,"value":null,"unit":"lb/d","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"pH","parameter_code":"00400","statistic":"minimum","qualifier":">=","value":"6","unit":"SU","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"pH","parameter_code":"00400","statistic":"maximum","qualifier":"<=","value":"8.5","unit":"SU","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Solids, total suspended","parameter_code":"00530","statistic":"monthly average","qualifier":"<=","value":"20","unit":"mg/L","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Solids, total suspended","parameter_code":"00530","statistic":"weekly average","qualifier":"<=","value":"30","unit":"mg/L","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Solids, total suspended","parameter_code":"00530","statistic":"monthly average","qualifier":"<=","value":"110","unit":"lb/d","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Solids, total suspended","parameter_code":"00530","statistic":"weekly average","qualifier":"<=","value":"138","unit":"lb/d","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Solids, total suspended","parameter_code":"00530","statistic":"monthly average","qualifier":null,"value":null,"unit":"mg/L","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Solids, total suspended","parameter_code":"00530","statistic":"weekly average","qualifier":null,"value":null,"unit":"mg/L","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Solids, total suspended","parameter_code":"00530","statistic":"monthly average","qualifier":null,"value":null,"unit":"lb/d","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Solids, total suspended","parameter_code":"00530","statistic":"weekly average","qualifier":null,"value":null,"unit":"lb/d","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Nitrogen, total [as N]","parameter_code":"00600","statistic":"monthly average","qualifier":null,"value":null,"unit":"mg/L","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Nitrogen, organic total [as N]","parameter_code":"00605","statistic":"monthly average","qualifier":null,"value":null,"unit":"mg/L","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Nitrogen, ammonia total [as N]","parameter_code":"00610","statistic":"monthly average","qualifier":"<=","value":"2.5","unit":"mg/L","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Nitrogen, ammonia total [as N]","parameter_code":"00610","statistic":"weekly average","qualifier":"<=","value":"3.8","unit":"mg/L","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Nitrogen, ammonia total [as N]","parameter_code":"00610","statistic":"monthly average","qualifier":"<=","value":"14","unit":"lb/d","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Nitrogen, ammonia total [as N]","parameter_code":"00610","statistic":"weekly average","qualifier":"<=","value":"17","unit":"lb/d","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Nitrogen, nitrate total [as N]","parameter_code":"00620","statistic":"monthly average","qualifier":null,"value":null,"unit":"mg/L","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Nitrogen, Kjeldahl, total [as N]","parameter_code":"00625","statistic":"monthly average","qualifier":null,"value":null,"unit":"mg/L","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Phosphorus, total [as P]","parameter_code":"00665","statistic":"monthly average","qualifier":null,"value":null,"unit":"mg/L","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Phosphate, ortho [as P]","parameter_code":"04175","statistic":"monthly average","qualifier":null,"value":null,"unit":"mg/L","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Flow, in conduit or thru treatment plant","parameter_code":"50050","statistic":"monthly average","qualifier":"<=","value":".66","unit":"MGD","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Flow, in conduit or thru treatment plant","parameter_code":"50050","statistic":"weekly average","qualifier":"<=","value":".83","unit":"MGD","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Chlorine, total residual","parameter_code":"50060","statistic":"daily maximum","qualifier":"<=","value":".013","unit":"mg/L","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"E. coli","parameter_code":"51040","statistic":"monthly geometric mean","qualifier":"<=","value":"126","unit":"#/100mL","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"E. coli","parameter_code":"51040","statistic":"weekly geometric mean","qualifier":"<=","value":"410","unit":"#/100mL","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Solids, sludge, total, dry weight","parameter_code":"78477","statistic":"monthly total","qualifier":null,"value":null,"unit":"dry ton","report_only":true,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"BOD, 5-day, percent removal","parameter_code":"81010","statistic":"minimum","qualifier":">=","value":"85","unit":"%","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"},{"outfall":"001","parameter":"Solids, suspended percent removal","parameter_code":"81011","statistic":"minimum","qualifier":">=","value":"85","unit":"%","report_only":false,"enforceable":true,"months":"all","limit_set":"Discharge to Horse Branch (0.66 MGD)"}],"next":[{"tool":"find_limits","says":"What do the rules say about what it went over on? find_limits gives the cited state and federal limits for it, each with its rule; `get` is the address to fetch, and `over_limits` holds one for each parameter.","arguments":{"parameter":"chlorine","place":"US-GA","medium":"surface_water"},"needs":{},"get":"https://passage-data.com/api/v1/limits?parameter=chlorine&place=US-GA&medium=surface_water","url":"https://passage-data.com/api/v1/limits?parameter=chlorine&place=US-GA&medium=surface_water","page":"https://passage-data.com/limits/US-GA/chlorine"},{"tool":"check_dmr","says":"Before your user files this permit's DMR: check_dmr sets each value beside the permit's limit for that period, with EPA's violation rule's verdict.","arguments":{"permit":"GA0023141"},"needs":{"period_end":"The reporting period: its month (2026-09).","values":"The period's values as your user will file them: [{outfall, parameter, statistic, value, unit}, ...]."},"post":"/api/v1/dmr/check","url":"https://passage-data.com/api/v1/dmr/check","page":"https://passage-data.com/dmr/?permit=GA0023141"},{"tool":"fill_dmr","says":"Has your user the plant's raw daily results? fill_dmr computes the period's DMR values from them, each with the rows it came from.","arguments":{"permit":"GA0023141"},"needs":{"period_end":"The reporting period: its month (2026-09).","rows":"The plant's results: [{date, parameter, value, unit, point}, ...]; or `table`, the lab's or plant's export as text."},"post":"/api/v1/dmr/fill","url":"https://passage-data.com/api/v1/dmr/fill","page":"https://passage-data.com/dmr/?permit=GA0023141"}]}