Models / PyPSA-GB

Open PyPSA-GB: the GB power system as configured upstream (wholesale + nodal), uncalibrated. Solved network (.nc) + a matching Convexity database (.db) you can open and re-solve. Free.

License: MIT
Repository
licenseMITproblemLP

Overview

PyPSA-GB is an open, peer-reviewed model of the Great Britain power system, built at the University of Edinburgh on the PyPSA framework. It represents the GB generation fleet, demand, and transmission network and solves a least-cost economic dispatch over a full year of hourly snapshots. We publish it here exactly as configured upstream — uncalibrated — and free, so you have an open, transparent baseline you can open, inspect, and re-solve in Convexity without building a model from scratch.

This is the quality: External tier: PyPSA-GB is a third-party model published as-is, validated by its own authors (see their paper below), not graded on our internal Bronze/Silver/Gold scale. Our own calibration is shipped separately as the paid products.

What's in the model

PyPSA-GB ships in two network representations, and we publish both:

  • Wholesale — the reduced ~32-bus network solved copper-plate, for a single GB day-ahead clearing price and the national generation mix.
  • Nodal — the ETYS transmission network clustered to ~GSP buses, solved as a nodal LP with NESO aggregate-boundary limits, for locational dispatch and renewable curtailment.

Each is published per year (2023, 2024) plus a 2030 FES Holistic Transition projection, as:

  • a solved PyPSA .nc — a raw rolling-horizon economic-dispatch solve of the upstream network, for scripting and analysis; and
  • a matching Convexity .db — the very same solve, openable in the Convexity app: pan the network on a map, inspect any bus/line/generator, read dispatch and prices per snapshot, and re-solve it (weekly-chunked, runs on a laptop — no Python, no MOSEK assumption).

The .nc and .db are the same solve

We publish a single raw rolling-horizon economic dispatch of the PyPSA-GB network, exported in both formats — so the .nc and the .db are byte-equivalent (one solve, two files). Open either and you get identical dispatch and prices.

What we deliberately don't reproduce here is PyPSA-GB's bespoke day-ahead market-clearing routine (its rolling_day_ahead market module). We ship a clean, standard economic dispatch instead — if you need the upstream market routine, run it from the upstream repo. Because this free model is uncalibrated, its prices differ from the observed market: the Validation tab shows the raw model against observed, and the calibrated GB Price Formation / GB Curtailment products close that gap.

Quick-solve demos

For a fast, hands-on try — without committing to a full-year run — the Files tab also has 1-week (Jan 1–7 2024) demo databases for both networks: pypsa-gb-wholesale-2024-demo.db and pypsa-gb-nodal-2024-demo.db (each with its .nc). They're a small slice of the full model, so they open and re-solve in Convexity in a couple of minutes on a laptop:

Demo (1 week, 2024) Build + solve Peak RAM
Wholesale ~1.8 min ~2.4 GB
Nodal ~2.5 min ~2.5 GB

(Figures are the end-to-end build + solve measured in CI; the in-app .db re-solve alone is lighter.) Use these to learn the solve workflow before running a full-year .db. They're the latest historical year — upstream PyPSA-GB has no 2025 historical data yet.

Calibrated products

For decision-grade numbers, our calibrated versions build on this open core:

  • GB Price Formation — wholesale day-ahead prices, merit order tuned to the Ember day-ahead curve.
  • GB Curtailment — nodal renewable curtailment with re-imposed NESO boundary limits and observed wind, validated against NESO hindcast.

Source & references

PyPSA-GB is the work of its upstream authors — please cite them:

License: MIT (upstream). Published in the Convexity Modelverse with credit to the original authors.