out_epacems__yearly_operational_characteristics

package: pudl

Annual time series of estimated operational characteristics for EPA CEMS emissions units.

Most-recent data:

2025

Processing:

Data has been expanded into a wide/denormalized format, with IDs and codes accompanied by human-readable names and descriptions.

Source:

EPA Hourly Continuous Emission Monitoring System (CEMS)

Primary key:

plant_id_epa, emissions_unit_id_epa

Usage Warnings

  • Contains estimated values.

  • This table is experimental and/or a work in progress and may change in the future.

  • This table estimates values from a configurable trailing window of EPA CEMS quarters ending at the most recent complete year (12 quarters, i.e. the most recent three full years, in production). Builds that only have a limited number of EPA CEMS quarters available, such as the fast ETL and CI, will produce estimates from a shorter, less accurate window.

Additional Details

This table summarizes several inferred operational characteristics for each EPA CEMS emissions unit using hourly CEMS gross load and fuel heat content over a trailing window of EPA CEMS quarters. In production this window is the most recent three full years (12 quarters) of data, ending at the most recent complete calendar year.

The values are not directly reported to source agencies. They are derived from observed hourly operations. These variables should be treated as an analytical estimate rather than as reported plant characteristics.

For methodological details, see /methodology/operational_characteristics.

Columns
plant_id_epa

The ORISPL ID used by EPA to refer to the plant. Usually but not always the same as plant_id_eia.

emissions_unit_id_epa

Emissions (smokestack) unit monitored by EPA CEMS.

plant_id_eia

The unique six-digit facility identification number, also called an ORISPL, assigned by the Energy Information Administration.

report_year

Four-digit year in which the data was reported.

state

Two letter US state abbreviation.

max_gross_load_mw

Maximum observed gross load for an EPA CEMS emissions unit.

min_stable_load_factor

Estimated minimum stable operating level as a fraction of maximum gross load.

min_up_time_hours

Minimum observed duration of a consecutive run at or above the minimum stable level.

min_down_time_hours

Minimum observed duration of a consecutive non-operating run.

heat_rate_at_max_load_factor_mmbtu_per_mwh

Estimated heat rate at the highest observed load-factor bin for an EPA CEMS emissions unit.

heat_rate_at_min_stable_load_factor_mmbtu_per_mwh

Estimated heat rate at the minimum stable operating level for an EPA CEMS emissions unit.

ramp_up_rate_per_min

Median ramp rate among the steepest 5% of observed upward ramps expressed as a fraction of maximum gross load per minute.

ramp_down_rate_per_min

Median ramp rate among the steepest 5% of observed downward ramps expressed as a fraction of maximum gross load per minute.

core_epacems__hourly_emissions

package: pudl

Hourly time series of emissions and plant operational data as required by 40 CFR Part 75.

Most-recent data:

2026

Processing:

Data has been cleaned and organized into well-modeled tables that serve as building blocks for downstream wide tables and analyses.

Source:

EPA Hourly Continuous Emission Monitoring System (CEMS)

Primary key:

plant_id_epa, emissions_unit_id_epa, operating_datetime_utc

Usage Warnings

  • Large table; do not attempt to open with Excel.

  • Not all IDs are present.

  • Contains information from multiple raw inputs.

Additional Details

Continuous Emissions Monitoring Systems (CEMS) are used to determine the rate of gas or particulate matter exiting a point source of emissions. The EPA Clean Air Markets Division (CAMD) has collected data on power plant emissions from CEMS units stretching back to 1995. The CEMS dataset includes hourly gross load, SO2, CO2, and NOx emissions associated with a given emissions-unit during startup, shutdown, and instances of malfunction. An EPA CEMS emissions-unit or smokestack unit is not the same as an EIA unit. See core_epa__assn_eia_epacamd for details about how to connect CEMS data to corresponding EIA units.

Only fossil-combustion units over 25 MW are required to install and use CEMS, so there are some units that do report in EIA-860 or EIA-923 that do not have any CEMS data.

Columns
plant_id_eia

The unique six-digit facility identification number, also called an ORISPL, assigned by the Energy Information Administration.

plant_id_epa

The ORISPL ID used by EPA to refer to the plant. Usually but not always the same as plant_id_eia.

emissions_unit_id_epa

Emissions (smokestack) unit monitored by EPA CEMS.

operating_datetime_utc

Date and time measurement began (UTC).

year

Year the data was reported in, used for partitioning EPA CEMS.

state

Two letter US state abbreviation.

operating_time_hours

Length of time interval measured.

gross_load_mw

Average power in megawatts delivered during time interval measured.

heat_content_mmbtu

The energy contained in fuel burned, measured in million BTU.

steam_load_lbs

Total steam pressure produced by a unit during the reported hour.

so2_mass_lbs

Sulfur dioxide emissions in pounds.

so2_mass_measurement_code

Identifies whether the reported value of emissions was measured, calculated, or measured and substitute.

nox_mass_lbs

NOx emissions in pounds.

nox_mass_measurement_code

Identifies whether the reported value of emissions was measured, calculated, or measured and substitute.

co2_mass_tons

Carbon dioxide emissions in short tons.

co2_mass_measurement_code

Identifies whether the reported value of emissions was measured, calculated, or measured and substitute.