Environment · Public data

Power plants

~35,000 utility-scale power plants worldwide with capacity, fuel type, generation and coordinates.

World Resources Institute (WRI), Global Power Plant Database v1.3.0 · CC BY 4.0 · commons_pubdata.environment.power_plants

Read Markdown

Registered, not loaded yet: the table is not in the catalog. This page fills in after its first refresh.

Query it with DuckDB.

Bash
lhbox duckdb --catalog commons/pubdata
SQL · Installed capacity (GW) by country and primary fuel for top countries
SELECT country_code, country_name,
       round(sum(capacity_mw) / 1000, 1) AS total_gw,
       round(sum(capacity_mw) FILTER (WHERE primary_fuel IN ('Solar', 'Wind', 'Hydro')) / 1000, 1) AS renewable_gw,
       round(sum(capacity_mw) FILTER (WHERE primary_fuel = 'Nuclear') / 1000, 1) AS nuclear_gw
FROM commons_pubdata.environment.power_plants
GROUP BY 1, 2 ORDER BY total_gw DESC LIMIT 20;

Read it where you work.

Public, read-only data. With an account, lhbox duckdb attaches the catalog as commons_pubdata; an agent with the LakehouseBox connector opens it with open_public_catalog("commons/pubdata"). Without one, DuckDB reads the public files directly.

More example queries

  • Power plants within 50 km of a major earthquake (M >= 6.0) in the past year
    SQL
    SELECT e.event_time, e.magnitude, e.place, p.name AS plant_name, p.primary_fuel, p.capacity_mw
    FROM commons_pubdata.environment.earthquakes AS e
    JOIN commons_pubdata.environment.power_plants AS p
      ON p.latitude BETWEEN e.latitude - 0.5 AND e.latitude + 0.5
     AND p.longitude BETWEEN e.longitude - 0.7 AND e.longitude + 0.7
    WHERE e.magnitude >= 6.0 AND e.event_time >= now() - INTERVAL 1 YEAR
    ORDER BY e.magnitude DESC, p.capacity_mw DESC;

Know your columns.

ColumnTypeMeaning
plant_idstringWRI Global Power Plant Database identifier (gppd_idnr)
namestringpower plant name
country_codestringISO 3166-1 alpha-2 country code (joins reference.countries)
iso3stringISO 3166-1 alpha-3 country code
country_namestringcountry name
capacity_mwdoubleinstalled electrical generating capacity, megawatts (MW)
View all 15 columns
primary_fuelstringSolar, Wind, Hydro, Gas, Coal, Oil, Nuclear, Biomass, Waste, Geothermal, Cogeneration, Storage, etc.
other_fuelstringsecondary fuel where reported
commissioning_yearintyear the plant entered service where known
ownerstringplant owner or majority shareholder
latitudedoubleWGS84 latitude in decimal degrees
longitudedoubleWGS84 longitude in decimal degrees
generation_gwh_2019doublereported electricity generation in 2019, gigawatt-hours (GWh)
estimated_generation_gwh_2017doubleWRI model-estimated annual generation (2017), GWh
reporting_sourcestringnational or institutional source of the plant record

Join keys: country_code, iso3.

Before you query.

  1. capacity_mw and primary_fuel are populated for every plant; commissioning_year and generation_gwh_2019 are often null outside the US and Europe, so use capacity_mw when comparing across all 167 countries.

Source & licence.

Source
World Resources Institute (WRI), Global Power Plant Database v1.3.0
Licence
CC BY 4.0
Attribution
Global Energy Observatory, Google, KTH Royal Institute of Technology in Stockholm, Enipedia, World Resources Institute. Global Power Plant Database v1.3.0 (CC BY 4.0).
Coverage
worldwide, ~34,900 plants in 167 countries; release v1.3.0
Refresh
monthly, the whole table replaced; source version n/a
Table
commons/pubdata · environment.power_plants · Iceberg v? · browse the catalog
Recipe
pubdata/recipes/power_plants.py, registry entry pubdata/registry/power_plants.yaml

Source: World Resources Institute (WRI), Global Power Plant Database v1.3.0 · CC BY 4.0 · Snapshot shown: not loadedHTML for people. Markdown for agents.