pypsa-eur

PyPSA-Eur: A Sector-Coupled Open Optimisation Model of the European Energy System

https://github.com/pypsa/pypsa-eur

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 12 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, zenodo.org
  • Committers with academic emails
    15 of 93 committers (16.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary

Keywords

capacity-expansion-model capacity-expansion-planning energy energy-data energy-model energy-system energy-system-analysis energy-system-model energy-system-modelling energy-systems europe power-grid power-systems pypsa sector-coupling snakemake transmission-network

Keywords from Contributors

energy-transition demand-flexibility great-britain snakemake-workflow heat-pump energy-system-modeling heating solar reanalysis pypsa-africa
Last synced: 6 months ago · JSON representation ·

Repository

PyPSA-Eur: A Sector-Coupled Open Optimisation Model of the European Energy System

Basic Info
Statistics
  • Stars: 466
  • Watchers: 19
  • Forks: 319
  • Open Issues: 196
  • Releases: 20
Topics
capacity-expansion-model capacity-expansion-planning energy energy-data energy-model energy-system energy-system-analysis energy-system-model energy-system-modelling energy-systems europe power-grid power-systems pypsa sector-coupling snakemake transmission-network
Created over 8 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

GitHub release (latest by date including pre-releases) Test workflows Documentation Size Zenodo PyPSA-Eur Zenodo PyPSA-Eur-Sec Snakemake Discord REUSE status

PyPSA-Eur: A Sector-Coupled Open Optimisation Model of the European Energy System

PyPSA-Eur is an open model dataset of the European energy system at the transmission network level that covers the full ENTSO-E area. The model is suitable both for operational studies and generation and transmission expansion planning studies. The continental scope and highly resolved spatial scale enables a proper description of the long-range smoothing effects for renewable power generation and their varying resource availability.

The model is described in the documentation and in the paper PyPSA-Eur: An Open Optimisation Model of the European Transmission System, 2018, arXiv:1806.01613. The model building routines are defined through a snakemake workflow. Please see the documentation for installation instructions and other useful information about the snakemake workflow. The model is designed to be imported into the open toolbox PyPSA.

WARNING: PyPSA-Eur is under active development and has several limitations which you should understand before using the model. The github repository issues collect known topics we are working on (please feel free to help or make suggestions). The documentation remains somewhat patchy. You can find showcases of the model's capabilities in the Joule paper The potential role of a hydrogen network in Europe, another paper in Joule with a description of the industry sector, or in a 2021 presentation at EMP-E. We do not recommend to use the full resolution network model for simulations. At high granularity the assignment of loads and generators to the nearest network node may not be a correct assumption, depending on the topology of the underlying distribution grid, and local grid bottlenecks may cause unrealistic load-shedding or generator curtailment. We recommend to cluster the network to a couple of hundred nodes to remove these local inconsistencies. See the discussion in Section 3.4 "Model validation" of the paper.

PyPSA-Eur Grid Model

The dataset consists of:

  • A grid model based on a modified GridKit extraction of the ENTSO-E Transmission System Map. The grid model contains 7072 lines (alternating current lines at and above 220kV voltage level and all high voltage direct current lines) and 3803 substations.
  • The open power plant database powerplantmatching.
  • Electrical demand time series from the OPSD project.
  • Renewable time series based on ERA5 and SARAH, assembled using the atlite tool.
  • Geographical potentials for wind and solar generators based on land use (CORINE) and excluding nature reserves (Natura2000) are computed with the atlite library.

A sector-coupled extension adds demand and supply for the following sectors: transport, space and water heating, biomass, industry and industrial feedstocks, agriculture, forestry and fishing. This completes the energy system and includes all greenhouse gas emitters except waste management and land use.

This diagram gives an overview of the sectors and the links between them:

sector diagram

Each of these sectors is built up on the transmission network nodes from PyPSA-Eur:

network diagram

For computational reasons the model is usually clustered down to 50-200 nodes.

Already-built versions of the model can be found in the accompanying Zenodo repository.

Contributing and Support

We strongly welcome anyone interested in contributing to this project. If you have any ideas, suggestions or encounter problems, feel invited to file issues or make pull requests on GitHub. - To discuss with other PyPSA users, organise projects, share news, and get in touch with the community you can use the Discord server. - For bugs and feature requests, please use the PyPSA-Eur Github Issues page.

Licence

The code in PyPSA-Eur is released as free software under the MIT License, see doc/licenses.rst. However, different licenses and terms of use may apply to the various input data, see doc/data_sources.rst.

Owner

  • Name: PyPSA
  • Login: PyPSA
  • Kind: organization

Python for Power System Analysis

Citation (CITATION.cff)

# SPDX-FileCopyrightText: Contributors to PyPSA-Eur <https://github.com/pypsa/pypsa-eur>
#
# SPDX-License-Identifier: CC0-1.0

cff-version: 1.1.0
message: "If you use this package, please cite it in the following way."
title: "PyPSA-Eur: An open sector-coupled optimisation model of the European energy system"
repository: https://github.com/pypsa/pypsa-eur
version: v2025.07.0
license: MIT
authors:
  - family-names: Brown
    given-names: Tom
    orcid: https://orcid.org/0000-0001-5898-1911
  - family-names: Victoria
    given-names: Marta
    orcid: https://orcid.org/0000-0003-1665-1281
  - family-names: Zeyen
    given-names: Elisabeth
    orcid: https://orcid.org/0000-0002-7262-3296
  - family-names: Hofmann
    given-names: Fabian
    orcid: https://orcid.org/0000-0002-6604-5450
  - family-names: Neumann
    given-names: Fabian
    orcid: https://orcid.org/0000-0001-8551-1480
  - family-names: Frysztacki
    given-names: Martha
    orcid: https://orcid.org/0000-0002-0788-1328
  - family-names: Hampp
    given-names: Johannes
    orcid: https://orcid.org/0000-0002-1776-116X
  - family-names: Schlachtberger
    given-names: David
    orcid: https://orcid.org/0000-0002-8167-8213
  - family-names: Hörsch
    given-names: Jonas
    orcid: https://orcid.org/0000-0001-9438-767X
  - family-names: Schledorn
    given-names: Amos
  - family-names: Schauß
    given-names: Caspar
  - family-names: van Greevenbroek
    given-names: Koen
  - family-names: Millinger
    given-names: Markus
  - family-names: Glaum
    given-names: Philipp
  - family-names: Xiong
    given-names: Bobby
  - family-names: Seibold
    given-names: Toni

GitHub Events

Total
  • Fork event: 80
  • Create event: 179
  • Commit comment event: 6
  • Release event: 2
  • Issues event: 131
  • Watch event: 119
  • Delete event: 137
  • Member event: 1
  • Issue comment event: 476
  • Push event: 947
  • Pull request review comment event: 289
  • Pull request review event: 434
  • Pull request event: 543
Last Year
  • Fork event: 80
  • Create event: 179
  • Commit comment event: 6
  • Release event: 2
  • Issues event: 131
  • Watch event: 119
  • Delete event: 137
  • Member event: 1
  • Issue comment event: 476
  • Push event: 947
  • Pull request review comment event: 289
  • Pull request review event: 434
  • Pull request event: 543

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 4,322
  • Total Committers: 93
  • Avg Commits per committer: 46.473
  • Development Distribution Score (DDS): 0.695
Past Year
  • Commits: 464
  • Committers: 40
  • Avg Commits per committer: 11.6
  • Development Distribution Score (DDS): 0.825
Top Committers
Name Email Commits
Fabian Neumann f****n@o****e 1,317
pre-commit-ci[bot] 6****] 450
Fabian f****f@g****e 427
lisazeyen l****n@w****e 358
Jonas Hörsch j****h@k****u 238
Tom Brown t****m@n****g 216
martavp m****z@g****m 119
martacki m****i@k****u 114
Philipp Glaum p****m@t****e 95
AmosSchledorn a****n@i****m 86
Koen van Greevenbroek k****k@u****o 78
virio-andreyana 1****a 77
Lukas Trippe l****p@p****e 65
Adam-Dvorak1 9****1 63
euronion 4****n 49
Parisra 1****a 37
LukasFrankenQ l****n@e****k 35
Michael Lindner m****r@p****e 32
github-actions[bot] 4****] 32
Bobby Xiong 3****g 28
Thomas Gilon t****i@c****m 26
Max Parzen m****n@e****k 26
millingermarkus m****r@c****e 26
toniseibold t****b@g****m 21
ekatef e****a@g****m 18
chrstphtrs c****s@t****e 17
Thomas Gilon t****n@o****g 17
cpschau 1****u 16
Jeroen Peters h****s@g****m 15
yerbol-akhmetov y****3@g****m 14
and 63 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 569
  • Total pull requests: 1,845
  • Average time to close issues: 8 months
  • Average time to close pull requests: 27 days
  • Total issue authors: 107
  • Total pull request authors: 92
  • Average comments per issue: 1.58
  • Average comments per pull request: 1.14
  • Merged pull requests: 1,403
  • Bot issues: 1
  • Bot pull requests: 213
Past Year
  • Issues: 120
  • Pull requests: 743
  • Average time to close issues: 14 days
  • Average time to close pull requests: 6 days
  • Issue authors: 57
  • Pull request authors: 49
  • Average comments per issue: 0.63
  • Average comments per pull request: 0.92
  • Merged pull requests: 529
  • Bot issues: 1
  • Bot pull requests: 143
Top Authors
Issue Authors
  • fneum (126)
  • nworbmot (71)
  • FabianHofmann (37)
  • euronion (20)
  • koen-vg (18)
  • fhg-isi (18)
  • Heronimonimo (17)
  • lisazeyen (16)
  • lindnemi (15)
  • martavp (14)
  • coroa (11)
  • pz-max (11)
  • p-glaum (10)
  • bobbyxng (8)
  • amos-schledorn (8)
Pull Request Authors
  • fneum (412)
  • FabianHofmann (128)
  • lkstrp (128)
  • pre-commit-ci[bot] (104)
  • github-actions[bot] (80)
  • koen-vg (68)
  • p-glaum (64)
  • lindnemi (64)
  • toniseibold (60)
  • martacki (57)
  • lisazeyen (57)
  • bobbyxng (57)
  • cpschau (47)
  • tgi-climact (40)
  • euronion (37)
Top Labels
Issue Labels
bug (177) enhancement (152) help wanted (15) low priority (12) documentation (11) design (10) high priority (9) wontfix (4) question (4) discussion (4) coding style (2)
Pull Request Labels
dependencies (25) bug (20) enhancement (16) high priority (9) ariadne-only (8) documentation (6) design (5) low priority (5) wontfix (2) discussion (2) DNMY (2) github_actions (2) epic event (1) coding style (1) help wanted (1)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 15
proxy.golang.org: github.com/pypsa/pypsa-eur
  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 6 months ago

Dependencies

.github/workflows/ci.yaml actions
  • actions/cache v3 composite
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite