Archive for the ‘emissions’ Category

Jun 11

Power Generation Emissions in Europe: a quick glance

In 2009, the European Union and the G8 set an ambitious objective to reduce greenhouse gas emissions by at least 80% below 1990 levels by 2050. Electricity (power) generation is the single largest CO2 emitting sector, making up for 37% of total CO2 emissions in Europe and more than 40% in the US. If Europe is serious about achieving the 2050 objectives, it implies creating a near-zero-carbon power generation portfolio over the next 40 years. Researchers expect a major increase in electricity demand as energy demand shifts from other sources towards electricity.

This means a major revamp of power generation portfolio for the EU as a whole. But it also means a changing landscape in electricity generation and trade in the EU as some countries are already much closer to achieving the target than others. The transition to clean energy will inevitably mean emergence of new leaders and followers in the changed European energy landscape.

Power generation intensity is a term that refers to the amount of CO2 emitted for each MWh of power generated. Intensity can be used as an indicator of the type of power plants used. Hydro dams, nuclear, wind and solar will have zero intensity. Natural gas power plants can have intensities ranging from 300kg to 800kg CO2 per MWh. The dirtiest range from 900kg and above are likely to be coal power plants. Minimizing overall intensity of country’s power generation portfolio implies significant investments into new facilities and technologies or importing power from cleaner countries.

One way of getting a birds-eye view of the current situation is to use Enipedia’s data on power plants, their intensities and power generated. The data has been adopted from the CARMA project and is currently being maintained by the Enipedia community. Plotting generation intensity vs energy production gives a good overview of the country’s portfolio and a rough indication of the competitive position of the country in the changing EU energy landscape.

The charts below plot intensity (Kg CO2 per MWh) and total annual electricity generation (MWh) at that level of intensity.

A simple shorthand to interpret these charts: the larger the green area under the curve – the cleaner the country’s generation portfolio, the better long-term competitive position.


France’s electricity portfolio is based on CO2-free nuclear, while Sweden relies on both nuclear and hydro power.


Poland and Greece charts display a typical coal based power generation portfolio, with significant amount of power generated at above 900Kg intensity threshold.

Natural gas-based

The Dutch, Portuguese, Spanish, Italian, British and Irish charts display a hump in the 400-800Kg range indicative of natural gas based generation.


Power generation emissions portfolio of all EU member countries are vastly different. Countries based on CO2-intensive generation (Poland, Greece, UK, Italy) will have to revamp their infrastructure to be able to ensure sufficient supply of cleaner electricity in the future. It also means higher costs of power as countries have to invest or import power from cleaner neighbors. The costs might be high but the opportunities for the countries able to develop significant clean portfolio are huge. The transition to clean energy will inevitably mean creating new leaders and followers, exporters and importers in the new European energy landscape.

Data and methodology behind the charts

Enipedia blog tries to promote “open knowledge” by exposing the data behind the analysis and the methodologies used. The charts were generated using R open source statistical package and r-sparql – SPARQL plugin for R that allows running queries from R scripts. The script below contains everything necessary to generate the charts. The author of this article is not an R-expert (yet) and would like to encourage the readers to download the script, improve it and come up with different (better) analyses and visualizations.

endpoint = ""
#Select EU Member counrtries using Category:EUMember
countries_query = "select ?country where {
    ?country a  <> .
# Execute the query and put results into data frame
countries <- query(countries_query, endpoint)
# Convert from factors to chars
countries <- data.frame(lapply(countries, as.character), stringsAsFactors=FALSE)
# Remove the uri part
countries <- transform(countries, country = substr(country,33, nchar(country)))
# Loop through countries
for (country in countries$country) {
    # Select output (annual generation) and intensity (kg co2 per mwh) of all power plants in the country
    q = paste("select ?intensity (?output / 3.6e9 as ?outputMWh) where {
    ?plant a <> ;
             <> ?output ;
             <> ?intensity ;
             <> <", country, "> .
    Filter (?output > 0) .
    } order by ?intensity", sep="")
    # Execute the query and put results into data frame
    results <- query(q, endpoint)
    # Convert from factors to numbers
    d <- transform(results, intensity = round(as.numeric(levels(intensity)[intensity]),0), outputMWh=as.numeric(levels(outputMWh)[outputMWh]))
    # Calculate cumulative sums
    d$totals <- apply(d, 2, cumsum)
    # We need only intensity vs cumulative output
    d <- data.frame(intensity=d$intensity, totaloutput=d$totals[,2])
    # Charts folder
    jpeg(paste("charts/", country, "_generation_emissions.jpg", sep=""))
    # Set line width
    # Plot
    plot(d$intensity, d$totaloutput, type="l", xlab="Intensity (Kg CO2 / MWh)", ylab="Electricity Production (MWh)", xaxt="n", yaxt="n", xlim=c(0,2000))
    title(main=country, col.main="black", font.main=4)
    # Create x axis ticks sequence - standard from 0 to 2000 kg per mwh
    xpos <- seq(0, 2000, by=400)
    # Create x axis labels
    axis(1, at=xpos, labels=sprintf("%.0f", xpos))
    # Create y axis labels
    axis(2, axTicks(2), format(axTicks(2), scientific = F))
    # Create grid
    abline(v=xpos, h=axTicks(2), lty=2, col="darkgray")
    # Color the area under the curve
    polygon(c(d$intensity,2000, 2000), c(d$totaloutput, tail(d$totaloutput,1), 0), col="green")
    # release file handle

To see the charts for the rest of the world see Enipedia entry on Power generation intensity.

For more information on decarbonizing European power generation see: