How we know

Every number on this site traces back to a published dataset or a published algorithm. Here's the chain.

1
Generation
What each plant produces, by fuel
2
Placement
Mapped onto grid buses
3
Flow
DC PTDF across the lines
4
Tracing
Bialek proportional sharing
5
Delivery
Arrives at the consumer

The grid model

Wattography is built on the PyPSA-Eur open dataset for its network topology — 5,777 buses, 7,320 transmission lines, and 12,449 power plants spanning 35 countries (48 ENTSO-E bidding zones). This covers the Continental European synchronous area, the Nordic area, and the British and Irish island systems. Iceland is drawn separately as a fixed snapshot — it is an isolated system with no live cross-border exchange, so its picture does not update hour to hour.

Flow magnitudes on transmission lines are estimated with a DC Power Transfer Distribution Factor (PTDF) matrix derived from that network. The DC formulation is a linearisation of the full AC power-flow equations; it holds well for meshed high-voltage grids under normal loading, and its accuracy and limits are well-characterised in the power-systems literature (Stott et al. 2009). We treat the result as indicative of real flows — good to within roughly ±15% on well-studied corridors — not as a replacement for a TSO state estimator.

Generation data

Actual generation by fuel type comes from the ENTSO-E Transparency Platform (document type A75, “Actual Generation per Production Type”), published by transmission operators with about a two-hour lag for most zones. Great Britain is the exception: since it left the ENTSO-E data area, GB generation is taken from the Elexon Balancing Mechanism Reporting Service (BMRS) and mapped onto the same fuel categories.

Each zone's fuel total is then distributed across that fuel's plants on the network using one of two methods:

  • Capacity-weighted (the default): the zone total for a fuel is split across its plants in proportion to installed capacity.
  • Weather-aware (solar and wind): the same zone total is redistributed using site-level weather and published photovoltaic and wind-turbine performance models, so a solar farm under cloud is dimmed relative to one in clear sky. The zone total is preserved exactly — only its spatial distribution changes.

A few zones publish A75 on a slower cycle. Spain and North Macedonia, for instance, can lag by several days; for those, each plant's magnitude uses the most recent same-hour-of-day total available, re-scaled to current weather. Pages affected by a slower or lower-quality source carry a visible confidence indicator.

Cross-border and HVDC flows

Cross-border alternating-current flows fall out of the PTDF model directly — they are simply flows on the lines that happen to cross a border. High-voltage direct-current links (the subsea and long-distance interconnectors) are different: they are controllable point-to-point cables, not part of the meshed AC network, so their power has to be entered explicitly.

We take each link's measured exchange and inject it into the AC grid at the buses nearest its converter stations, then let the tracing carry that imported power onward into the receiving network. That is what lets, for example, French nuclear show up in the English interior rather than stopping at the coastline where the cable lands.

Forward and backward tracing (Bialek method)

To answer “where does this plant's electricity go?”, we use Bialek's proportional-sharing flow tracing (Bialek 1996). Applied forward from the generators, it partitions the power at every bus into shares contributed by each upstream source. We trace the highest-output plants every hour and serve their results as a compact map layer.

For the reverse question — “where does my electricity come from?” — we run the same method backward, following a point of consumption back to the generators feeding it. This is computed on demand for any location.

Carbon intensity

We attach a lifecycle emission factor (grams CO₂-equivalent per kWh) to each fuel. The renewable, nuclear and fossil values follow the medians published in the IPCC Fifth Assessment Report (2014, Working Group III, Annex III). Lignite, oil and a catch-all “other” are extended from the wider literature, as the IPCC table does not break those out separately.

Wind
11
Nuclear
12
Hydro
24
Geothermal
38
Solar PV
48
Biomass
230
Gas (CCGT)
490
Oil
650
Coal
820
Lignite
1,000
grams CO₂-equivalent per kWh →

Delivered carbon, shown on plant detail pages, additionally accounts for transmission losses of roughly 1.5% per 500 km.

Confidence levels

We show one of three confidence levels on each data-heavy page:

  • High — full A75 coverage, ~two-hour lag, complete grid coverage
  • Medium — generation available but on a longer lag, or a fallback source is in use
  • Low — no actual generation for the zone; estimates from capacity ratios only

Data sources and licenses

Methods and tools: Bialek 1996 (flow tracing); Hörsch et al. 2018 and Brown et al. 2018 (PyPSA / PyPSA-Eur); Stott et al. 2009 (DC power flow); pvlib (Holmgren et al. 2018) and windpowerlib (performance modelling); IPCC AR5 (2014), WG III Annex III (emission factors).

How the pieces fit together

Four public datasets converge into one model; the model answers four kinds of question.

Public data in
ENTSO-E A75
Generation by fuel, per zone
Elexon BMRS
Great Britain generation
PyPSA-Eur
Grid topology & power plants
Open-Meteo
Weather at each site
The model
Place generation on grid busesSolve DC PTDF line flowsInject HVDC at convertersBialek proportional-sharing trace
Questions it answers
Live flows
Line colours by fuel, on the map
Plant reach
Where a plant's power goes
Your mix
Where your power comes from
Carbon
Intensity by zone & plant
Fig. 1 — Every product on the site is the same trace, read from a different end.