There is a newer version of this record available.

Software Open Access

PyPSA-Eur: An Open Optimisation Model of the European Transmission System (Code)

Hörsch, Jonas; Neumann, Fabian; Hofmann, Fabian; Schlachtberger, David; Brown, Tom

PyPSA-Eur is an open model dataset of the European power system at the transmission network level that covers the full ENTSO-E area. The software pipeline to assemble the model is developed at and documentation is available at

This repository contains the code of PyPSA-Eur Releases to build the networks!

The model alternating current lines at and above 220 kV voltage level and all high voltage direct current lines, substations, an open database of conventional power plants, time series for electrical demand and variable renewable generator availability, and geographic potentials for the expansion of wind and solar power.

It only includes freely available and open data. It provides a fully automated free software pipeline to assemble the load-flow-ready model from the original datasets, which enables easy configuration, replacement and
improvement of the individual parts.

The model is suitable both for operational studies and generation and transmission expansion planning studies.

Some basic validation is provided in a paper describing the dataset:

Release Notes

This is the first release of PyPSA-Eur, a model of the European power system at the transmission network level. Recent changes include:

  • Documentation on installation, workflows and configuration settings is now available online at (#65).
  • The conda environment files were updated and extended (#81).
  • The power plant database was updated with extensive filtering options via pandas.query functionality (#84 and #94).
  • Continuous integration testing with Travis CI is now included for Linux, Mac and Windows (#82).
  • Data dependencies were moved to zenodo and are now versioned (#60).
  • Data dependencies are now retrieved directly from within the snakemake workflow (#86).
  • Emission prices can be added to marginal costs of generators through the keyworks Ep in the {opts} wildcard (#100).
  • An option is introduced to add extendable nuclear power plants to the network (#98).
  • Focus weights can now be specified for particular countries for the network clustering, which allows to set a proportion of the total number of clusters for particular countries (#87).
  • A new rule add_extra_components allows to add additional components to the network only after clustering. It is thereby possible to model storage units (e.g. battery and hydrogen) in more detail via a combination of Store, Link and Bus elements (#97).
  • Hydrogen pipelines (including cost assumptions) can now be added alongside clustered network connections in the rule add_extra_components . Set electricity: extendable_carriers: Link: [H2 pipeline] and ensure hydrogen storage is modelled as a Store. This is a first simplified stage (#108).
  • Logfiles for all rules of the snakemake workflow are now written in the folder log/ (#102).
  • The new function _helpers.mock_snakemake creates a snakemake object which mimics the actual snakemake object produced by workflow by parsing the Snakefile and setting all paths for inputs, outputs, and logs. This allows running all scripts within a (I)python terminal (or just by calling python <script-name>) and thereby facilitates developing and debugging scripts significantly (#107).

Files (15.3 MB)
Name Size
15.3 MB Download
All versions This version
Views 498210
Downloads 4719
Data volume 812.8 MB290.7 MB
Unique views 416187
Unique downloads 4015


Cite as