EPA MATS – Mercury and Air Toxics Standards#

Source URL

https://www.epa.gov/stationary-sources-air-pollution/mercury-and-air-toxics-standards

Source Description

US EPA hourly Mercury and Air Toxics Standards (MATS) data. Hourly Hg and HCl emissions, Hg/HCl/SO2/NOx/PM controls, and gross load.

Respondents

Coal- and oil-fired plants over 25MW

Records Liberated

~40 million

Source Format

Comma Separated Value (.csv)

Download Size

593 MB

Temporal Coverage

2015q1-2026q3

PUDL Code

epamats

Unprocessed Source Data Archive

10.5281/zenodo.14783043

Issues

Open EPA MATS – Mercury and Air Toxics Standards issues

PUDL Database Tables#

Clicking on the links will show you a description of the table as well as the names and descriptions of each of its fields. Due to the size of the MATS data we do not publish it as part of our SQLite database, but it is available through all of our other data access methods.

Background#

The EPA Mercury and Air Toxics Standards (MATS) dataset provides detailed information on emissions of hazardous air pollutants, specifically mercury (Hg), hydrogen chloride (HCl), and hydrogen fluoride (HF), from coal- and oil-fired power plants in the United States. Established under the Clean Air Act, MATS requires affected units to install and operate monitoring systems to track pollutant output rates and mass emissions. MATS aims to reduce air pollution and its associated health risks by setting limits on the emissions of mercury, acid gases, and other hazardous air pollutants from coal- and oil-fired power plants. As with CEMS, the connection between EPA emissions units and EIA boilers isn’t perfect. See EPA units vs. EIA units.

MATS serves as a critical resource for policymakers, researchers, and environmental organizations to assess the effectiveness of pollution control measures, monitor compliance, and evaluate the environmental and public health impacts of power plant emissions.

Download additional documentation#

Data available through PUDL#

We integrate all years of EPA MATS hourly data, including all reporting states.

EPA releases the hourly MATS data on a quarterly basis, with a lag of 2-3 months. We update the MATS data within PUDL on a quarterly schedule.

Who is required to report under the MATS rule?#

Part 63 of the Code of Federal Regulations (CFR) requires quarterly reporting of hourly emissions of hazardous air pollutants (HAP) for all coal and oil-fired electric utility steam generating units (EGUs) with a capacity of 25MW or greater, through the use of a continuous monitoring system (CMS) or sorbent trap monitoring system. There are separate measurement and reporting requirements for each pollutant, and the exact qualifications and procedures interact in complex ways; see the Part 63 regulation text for full details.

What does the original data look like?#

EPA CAMD publishes the MATS data in an online data portal. The files are available in a prepackaged format, accessible via a user interface, and also through the EPA Clean Air Markets API (which we use to produce archives of the data).

Notable Irregularities#

Early years are incomplete#

MATS required that coal-fired electricity generating units (EGUs) start reporting hourly MATS emissions and operations data as early as April 2015, but provided extensions for many EGUs until April 2016 or 2017. Therefore, complete MATS data are not available until calendar year 2018.

HF column not included#

MATS sets guidelines for HF reporting, but does not require it. While the raw MATS data includes a column for hydrogen fluoride (HF), to date this column is null in every record. We exclude this column from the published tables.

Emissions units vs. generation units#

See the CEMS documentation for EPA units vs. EIA units.

EIA plant coverage is incomplete#

Since only coal- and oil-fired units with a capacity of 25MW or greater are required to comply with MATS, not all plants that report to EIA have corresponding MATS monitoring data.

PUDL Data Transformations#

To see the transformations applied to the data in each table, you can read the docstrings for pudl.transform.epamats created for each table’s respective transform function.