PyPSA-Eur
A Sector-Coupled Open Optimization Model of the European Transmission System.
https://github.com/pypsa/pypsa-eur
Category: Energy Systems
Sub Category: Global and Regional Energy System Models
Keywords
energy energy-model energy-system energy-system-model energy-systems power-systems pypsa snakemake
Keywords from Contributors
energy-transition snakemake-workflow sector-coupling great-britain demand-flexibility heat-pump energy-system-modeling renewable-energy heating pyomo
Last synced: about 22 hours ago
JSON representation
Repository metadata
PyPSA-Eur: A Sector-Coupled Open Optimisation Model of the European Energy System
- Host: GitHub
- URL: https://github.com/pypsa/pypsa-eur
- Owner: PyPSA
- Created: 2017-10-11T23:54:41.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-04-21T10:08:52.000Z (6 days ago)
- Last Synced: 2025-04-21T10:30:03.391Z (6 days ago)
- Topics: energy, energy-model, energy-system, energy-system-model, energy-systems, power-systems, pypsa, snakemake
- Language: Python
- Homepage: https://pypsa-eur.readthedocs.io/
- Size: 108 MB
- Stars: 414
- Watchers: 18
- Forks: 279
- Open Issues: 159
- Releases: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSES/CC-BY-4.0.txt
- Citation: CITATION.cff
README.md
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.
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:
Each of these sectors is built up on the transmission network nodes
from PyPSA-Eur:
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
.
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.04.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
Owner metadata
- Name: PyPSA
- Login: PyPSA
- Email:
- Kind: organization
- Description: Python for Power System Analysis
- Website: www.pypsa.org
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/32890768?v=4
- Repositories: 29
- Last ynced at: 2024-03-26T13:25:46.062Z
- Profile URL: https://github.com/PyPSA
GitHub Events
Total
- Fork event: 56
- Create event: 145
- Commit comment event: 6
- Release event: 2
- Issues event: 89
- Watch event: 82
- Delete event: 110
- Member event: 1
- Issue comment event: 326
- Push event: 752
- Pull request review comment event: 187
- Pull request review event: 304
- Pull request event: 414
Last Year
- Fork event: 56
- Create event: 145
- Commit comment event: 6
- Release event: 2
- Issues event: 89
- Watch event: 82
- Delete event: 110
- Member event: 1
- Issue comment event: 326
- Push event: 752
- Pull request review comment event: 187
- Pull request review event: 304
- Pull request event: 414
Committers metadata
Last synced: 7 days ago
Total Commits: 4,238
Total Committers: 89
Avg Commits per committer: 47.618
Development Distribution Score (DDS): 0.69
Commits in past year: 754
Committers in past year: 46
Avg Commits per committer in past year: 16.391
Development Distribution Score (DDS) in past year: 0.78
Name | Commits | |
---|---|---|
Fabian Neumann | f****n@o****e | 1314 |
pre-commit-ci[bot] | 6****] | 445 |
Fabian | f****f@g****e | 424 |
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 | 80 |
Koen van Greevenbroek | k****k@u****o | 78 |
virio-andreyana | 1****a | 77 |
Adam-Dvorak1 | 9****1 | 63 |
Lukas Trippe | l****p@p****e | 53 |
euronion | 4****n | 46 |
Parisra | 1****a | 37 |
LukasFrankenQ | l****n@e****k | 35 |
Michael Lindner | m****r@p****e | 30 |
Thomas Gilon | t****i@c****m | 26 |
Max Parzen | m****n@e****k | 26 |
millingermarkus | m****r@c****e | 25 |
Bobby Xiong | 3****g | 25 |
github-actions[bot] | 4****] | 24 |
toniseibold | t****b@g****m | 20 |
ekatef | e****a@g****m | 18 |
chrstphtrs | c****s@t****e | 17 |
Jeroen Peters | h****s@g****m | 15 |
yerbol-akhmetov | y****3@g****m | 14 |
cpschau | c****s@i****e | 13 |
Irieo | i****n@g****m | 13 |
and 59 more... |
Committer domains:
- kit.edu: 3
- openenergytransition.org: 3
- tu-berlin.de: 2
- mpe.au.dk: 2
- pm.me: 2
- ed.ac.uk: 2
- iai-esm003.iai.kit.edu: 2
- oth-regensburg.de: 1
- eng.au.dk: 1
- ieg.fraunhofer.de: 1
- chalmers.se: 1
- climact.com: 1
- posteo.de: 1
- uit.no: 1
- nworbmot.org: 1
- gmx.de: 1
- outlook.de: 1
- gmx.net: 1
- users.fias.science: 1
- inatech.uni-freiburg.de: 1
- boku.ac.at: 1
- pik-potsdam.de: 1
- campus.tu-berlin.de: 1
- fe1.prime.net: 1
- witte.sh: 1
- d-fine.de: 1
- git.com: 1
- sms.ed.ac.uk: 1
- hotmail.de: 1
- tuhh.de: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 562
Total pull requests: 1,267
Average time to close issues: 7 months
Average time to close pull requests: 25 days
Total issue authors: 90
Total pull request authors: 85
Average comments per issue: 1.75
Average comments per pull request: 1.26
Merged pull request: 1,012
Bot issues: 0
Bot pull requests: 129
Past year issues: 163
Past year pull requests: 576
Past year average time to close issues: 26 days
Past year average time to close pull requests: 7 days
Past year issue authors: 45
Past year pull request authors: 50
Past year average comments per issue: 0.99
Past year average comments per pull request: 1.05
Past year merged pull request: 444
Past year bot issues: 0
Past year bot pull requests: 74
Top Issue Authors
- fneum (126)
- nworbmot (71)
- FabianHofmann (38)
- fhg-isi (24)
- koen-vg (21)
- lindnemi (20)
- euronion (18)
- Heronimonimo (17)
- lisazeyen (17)
- martavp (15)
- coroa (13)
- pz-max (12)
- bobbyxng (10)
- cerealice (7)
- p-glaum (7)
Top Pull Request Authors
- fneum (330)
- FabianHofmann (106)
- pre-commit-ci[bot] (77)
- lkstrp (67)
- martacki (50)
- koen-vg (49)
- p-glaum (45)
- lisazeyen (43)
- toniseibold (39)
- lindnemi (38)
- github-actions[bot] (35)
- bobbyxng (34)
- tgi-climact (32)
- euronion (27)
- cpschau (27)
Top Issue Labels
- bug (210)
- enhancement (163)
- help wanted (15)
- low priority (12)
- documentation (11)
- design (10)
- high priority (7)
- wontfix (5)
- discussion (5)
- question (4)
- coding style (2)
Top Pull Request Labels
- bug (18)
- enhancement (15)
- dependencies (13)
- high priority (7)
- ariadne-only (6)
- design (5)
- documentation (5)
- low priority (4)
- wontfix (2)
- discussion (2)
- DNMY (2)
- epic event (1)
- coding style (1)
- help wanted (1)
Package metadata
- 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
- Homepage:
- Documentation: https://pkg.go.dev/github.com/pypsa/pypsa-eur#section-documentation
- Licenses:
- Latest release: v0.13.0 (published 8 months ago)
- Last Synced: 2025-04-25T14:07:53.723Z (2 days ago)
- Versions: 15
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.999%
- Average: 8.173%
- Dependent repos count: 9.346%
Dependencies
- actions/cache v3 composite
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
Score: -Infinity