energy_generators_county
Generator-level inventory from EIA Form 860, geocoded to county. One row per generator per year (2013–2024). Covers capacity (nameplate, summer, winter MW), fuel sources, technology type, prime mover, operating and retirement dates, sector, and CHP status. Plants resolved to county_id via dim.geographies; ~1.2% of plant-years unresolved.
tier aadmin_record
overview
overview
272,371 generator-year rows. ~98.8% plant-years county-resolved.
current vintage — Final 2024
history — 2013-present in pipeline; EIA-860 source goes to 2001
provenance
source & licensing
authority
U.S. Energy Information Administration
dataset
EIA Form 860 — Annual Electric Generator Report (2013–2024)
license
Public domain (U.S. Federal Government work)
citation
U.S. Energy Information Administration. Form EIA-860 - county-resolved generator inventory, 2013-2024.
schema
fields
| name | type | definition |
|---|---|---|
| country_idkey | string | ISO 3166 alpha-2 country code. Always "US". |
| county | string | County name as reported in the EIA Form 860 filing. |
| county_idkey | string | 5-character county FIPS code (string, zero-padded). |
| energy_source_1 | string | Primary fuel source code (EIA energy source classification). |
| energy_source_2 | string | Secondary fuel source code, if applicable. |
| energy_source_3 | string | Tertiary fuel source code, if applicable. |
| generator_id | string | Generator identifier within the plant (unique within plant_code). |
| is_chp | string | Whether the unit is a combined heat and power (CHP) facility (Y/N). |
| nameplate_capacity_mw | float64 | Nameplate (design) capacity in megawatts. |
| operating_month | int64 | Month the generator entered commercial operation. |
| operating_year | int64 | Year the generator entered commercial operation. |
| planned_retirement_month | int64 | Planned retirement month, if reported. |
| planned_retirement_year | int64 | Planned retirement year, if reported. |
| plant_code | string | EIA plant identifier (unique within EIA-860). |
| plant_name | string | Name of the power plant as reported by EIA. |
| prime_mover | string | Prime mover code (e.g., ST=Steam Turbine, GT=Gas Turbine, PV=Photovoltaic). |
| sector_name | string | Utility sector classification (e.g., Electric Utility, Independent Power Producer). |
| state | string | Two-letter state abbreviation as reported in the filing. |
| state_idkey | string | 2-character state FIPS code. |
| status | string | Generator operating status code (OP=operating, CN=cancelled, P=planned, RE=retired, etc.). |
| summer_capacity_mw | float64 | Summer net capacity in MW (peak demand season rating). |
| technology | string | Generator technology type (e.g., Conventional Steam Coal, Solar Photovoltaic, Combined Cycle). |
| utility_id | string | EIA utility identifier owning the plant. |
| utility_name | string | Name of the utility owning the plant. |
| winter_capacity_mw | float64 | Winter net capacity in MW. |
| year | int64 | Reference year of the Form 860 filing. |
relationships
joins
primary key
county_id, state_id, country_id
common joins
dim.geographies on county_id
energy_generation_state on plant_code
energy_scorecard_county_year on (county_id, year)
usage
how to use this table
method
Same as eia_860_generator but pre-resolved to county_id via dim.geographies; ~1.2% unresolved plant-years excluded.
do not use for
Same as eia_860_generator caveats.
known issues
Same as eia_860_generator. ~1.2% plant-years unresolved.
last updated · Jul 7, 2026