← All studies · askamerica.ai

Steel Dynamics' Sinton mill and a handful of refineries lead Texas industrial plants in recent EPA permit exceedances

EPA ECHO Exporter facility compliance data, snapshot checked 2026-09-26

Texas Industrial Plants With the Most Recent Permit Exceedances EPA ECHO Exporter facility compliance snapshot, checked 2026-09-26 — CWA effluent exceedances (last 13 qtrs) and CAA quarters in noncompliance (last 12 qtrs) Top TX industrial plants by CWA (water) effluent exceedance count 0 10 20 30 40 50 60 70 80 Facility Exceedances (13 qtrs) Steel Dynamics Sinton Wyman-Gordon Forgings Huntsman Petrochem C4 Ash Grove Cement Midlothian Shell Chemical Deer Park WRB Refining Borger Airgas Dry Ice La Porte UFP New Waverly Count of times a facility's discharge monitoring reports showed a Clean Water Act effluent limit exceeded, EPA ECHO, most recent 13… Highest water-permit exceedance count 73 Steel Dynamics Sinton Highest air-enforcement penalty among max-noncompliance plants $3.75M Port Arthur Plant, 8 formal actions TX plants in CAA noncompliance every quarter, ranked by penalties assessed 0 1M 2M 3M 4M Facility Total penalties ($) Port Arthur Plant Gerdau Midlothian Valero Corpus Christi West Big Spring Carbon Black Tolar Plant All were in Clean Air Act noncompliance in 12 of the last 12 quarters (the metric caps at 12, so ties are common); penalties/formal actions… AskAmerica · askamerica.ai
SVG

Summary

The question did not name a state, so this report answers for Texas, which has by far the largest concentration of heavy industrial, petrochemical and refining facilities in EPA's national compliance database. Using EPA's ECHO Exporter facility-compliance data (checked 2026-09-26):

Data and method, including what the water filter excluded

Source: EPA ECHO Exporter (Envirofacts), loaded into this corpus's environment.epa_facilities table and its environment.facility_compliance view. This is a keyless, weekly-refreshed national snapshot with no year dimension — it reports EPA's own current rolling-window rollups, not a filterable year-by-year history, so 'recently' here means EPA's own most-recent 13-quarter (water) and 12-quarter (air) reporting windows as of the snapshot date.

Facilities were scoped to primary NAICS codes for manufacturing (31–33), utilities/power generation, oil & gas extraction and mining (21, 211–213, 2211–2212) to match 'industrial plants,' filtered to Texas (state_abbr='TX'). That scope returns 15,518 Texas facilities.

Exclusion, named exactly: the water ranking applied the filter c.cwa_effluent_exceedance_count IS NOT NULL to the same 15,518-facility population. That single predicate removed 15,185 of the 15,518 in-scope Texas facilities (98%), leaving only 333 facilities (2%) with any reported CWA effluent-exceedance value to rank. Without that filter, ORDER BY c.cwa_effluent_exceedance_count DESC would put every NULL-valued facility at the bottom (or scattered, depending on NULL handling) rather than showing a meaningful rank, since NULL here is not the same as zero — it means EPA's ECHO rollup has no discharge-monitoring-report data for that facility at all, most likely because it holds no NPDES surface-water discharge permit (many manufacturing/mining sites discharge to a municipal sewer system instead, or hold no water discharge permit). The headline statistic is unchanged whether or not the filter is applied: Steel Dynamics Sinton's 73 is still the maximum non-null value in the full 15,518-facility set, because every excluded row is NULL, not a competing number. But the population this ranking speaks for is the 333 monitored facilities, not all 15,518 in-scope Texas industrial plants — which is a real restriction on what 'exceeded permit limits the most' can mean here.

Air-side metric limitation: caa_qtrs_in_noncompliance counts quarters (not individual violations) and is capped at 12 — many plants tie at the ceiling, so it cannot distinguish a plant violating once a quarter from one violating continuously. Total penalties and formal-enforcement-action counts were used as a secondary tiebreaker among the tied plants, a reasonable but not identical proxy for violation frequency. EPA's own facility-level, itemized CAA violation count (as opposed to this quarterly rollup) is not carried in this table.

One entry worth flagging: 'Upper Martinez Creek WWTF' (San Antonio, 51 CWA exceedances) is coded to a manufacturing NAICS code but is named as a wastewater treatment facility — likely a NAICS mis-coding in the source data rather than a true manufacturing plant, so it was left out of the headline chart above but is visible in the underlying query.

Caveats

Every query behind this report

4 warehouse calls ran in this session, in order. Each is reproducible against the same snapshot.

query — 15 rows — 21034 ms
SELECT f.registry_id, f.facility_name, f.city, f.state_abbr, f.naics_codes,
       c.caa_qtrs_in_noncompliance, c.cwa_qtrs_in_noncompliance, c.rcra_qtrs_in_noncompliance,
       c.cwa_effluent_exceedance_count, c.formal_action_count, c.total_penalties, c.snc_flag
FROM environment.epa_facilities f
JOIN environment.facility_compliance c ON f.registry_id = c.registry_id
WHERE f.state_abbr = 'TX'
  AND (f.naics_codes ILIKE '31%' OR f.naics_codes ILIKE '32%' OR f.naics_codes ILIKE '33%'
       OR f.naics_codes ILIKE '2211%' OR f.naics_codes ILIKE '2212%' OR f.naics_codes ILIKE '211%' OR f.naics_codes ILIKE '212%' OR f.naics_codes ILIKE '213%')
  AND c.cwa_effluent_exceedance_count IS NOT NULL
ORDER BY c.cwa_effluent_exceedance_count DESC
LIMIT 15
query — 15 rows — 2754 ms
SELECT f.registry_id, f.facility_name, f.city, f.state_abbr, f.naics_codes,
       c.caa_qtrs_in_noncompliance, c.cwa_qtrs_in_noncompliance, c.rcra_qtrs_in_noncompliance,
       c.formal_action_count, c.total_penalties, c.snc_flag
FROM environment.epa_facilities f
JOIN environment.facility_compliance c ON f.registry_id = c.registry_id
WHERE f.state_abbr = 'TX'
  AND (f.naics_codes ILIKE '31%' OR f.naics_codes ILIKE '32%' OR f.naics_codes ILIKE '33%'
       OR f.naics_codes ILIKE '2211%' OR f.naics_codes ILIKE '2212%' OR f.naics_codes ILIKE '211%' OR f.naics_codes ILIKE '212%' OR f.naics_codes ILIKE '213%')
ORDER BY c.caa_qtrs_in_noncompliance DESC NULLS LAST
LIMIT 15
query — 1 rows — 2370 ms
SELECT COUNT(*) AS null_count
FROM environment.epa_facilities f
JOIN environment.facility_compliance c ON f.registry_id = c.registry_id
WHERE f.state_abbr = 'TX'
  AND (f.naics_codes ILIKE '31%' OR f.naics_codes ILIKE '32%' OR f.naics_codes ILIKE '33%'
       OR f.naics_codes ILIKE '2211%' OR f.naics_codes ILIKE '2212%' OR f.naics_codes ILIKE '211%' OR f.naics_codes ILIKE '212%' OR f.naics_codes ILIKE '213%')
  AND c.cwa_effluent_exceedance_count IS NULL
query — 1 rows — 1991 ms
SELECT COUNT(*) AS total_count
FROM environment.epa_facilities f
JOIN environment.facility_compliance c ON f.registry_id = c.registry_id
WHERE f.state_abbr = 'TX'
  AND (f.naics_codes ILIKE '31%' OR f.naics_codes ILIKE '32%' OR f.naics_codes ILIKE '33%'
       OR f.naics_codes ILIKE '2211%' OR f.naics_codes ILIKE '2212%' OR f.naics_codes ILIKE '211%' OR f.naics_codes ILIKE '212%' OR f.naics_codes ILIKE '213%')

Sources

  1. EPA ECHO Exporter facility compliance (water exceedances) — environment.facility_compliance view, cwa_effluent_exceedance_count, TX manufacturing/energy/mining NAICS
    Show SQL
    SELECT f.registry_id, f.facility_name, f.city, f.naics_codes, c.cwa_effluent_exceedance_count FROM environment.epa_facilities f JOIN environment.facility_compliance c ON f.registry_id=c.registry_id WHERE f.state_abbr='TX' AND (f.naics_codes ILIKE '31%' OR f.naics_codes ILIKE '32%' OR f.naics_codes ILIKE '33%' OR f.naics_codes ILIKE '2211%' OR f.naics_codes ILIKE '2212%' OR f.naics_codes ILIKE '211%' OR f.naics_codes ILIKE '212%' OR f.naics_codes ILIKE '213%') AND c.cwa_effluent_exceedance_count IS NOT NULL ORDER BY c.cwa_effluent_exceedance_count DESC
  2. EPA ECHO Exporter facility compliance (air noncompliance quarters) — environment.facility_compliance view, caa_qtrs_in_noncompliance, TX manufacturing/energy/mining NAICS
    Show SQL
    SELECT f.registry_id, f.facility_name, f.city, f.naics_codes, c.caa_qtrs_in_noncompliance, c.formal_action_count, c.total_penalties FROM environment.epa_facilities f JOIN environment.facility_compliance c ON f.registry_id=c.registry_id WHERE f.state_abbr='TX' AND (f.naics_codes ILIKE '31%' OR f.naics_codes ILIKE '32%' OR f.naics_codes ILIKE '33%' OR f.naics_codes ILIKE '2211%' OR f.naics_codes ILIKE '2212%' OR f.naics_codes ILIKE '211%' OR f.naics_codes ILIKE '212%' OR f.naics_codes ILIKE '213%') ORDER BY c.caa_qtrs_in_noncompliance DESC NULLS LAST
  3. Count of Texas industrial facilities excluded by c.cwa_effluent_exceedance_count IS NOT NULL — 15,185 of 15,518 in-scope facilities have NULL cwa_effluent_exceedance_count and were excluded by this predicate
    Show SQL
    SELECT COUNT(*) FROM environment.epa_facilities f JOIN environment.facility_compliance c ON f.registry_id=c.registry_id WHERE f.state_abbr='TX' AND (f.naics_codes ILIKE '31%' OR f.naics_codes ILIKE '32%' OR f.naics_codes ILIKE '33%' OR f.naics_codes ILIKE '2211%' OR f.naics_codes ILIKE '2212%' OR f.naics_codes ILIKE '211%' OR f.naics_codes ILIKE '212%' OR f.naics_codes ILIKE '213%') AND c.cwa_effluent_exceedance_count IS NULL