Open-TYNDP

Explore and consider the adoption of PyPSA in the Ten-Year Network Development Plan of European Network of Transmission System Operators for Electricity (ENTSO-E) by building a workflow based on PyPSA-Eur.
https://github.com/open-energy-transition/open-tyndp

Category: Energy Systems
Sub Category: Energy System Modeling Frameworks

Keywords

energy energy-model energy-system energy-system-model energy-systems power-systems pypsa snakemake

Keywords from Contributors

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

Last synced: about 23 hours ago
JSON representation

Repository metadata

Open-TYNDP: Interfacing Open Energy System Planning with ENTSO-E Models and Contributing to TYNDP

https://github.com/open-energy-transition/open-tyndp/blob/master/

          

![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/open-energy-transition/open-tyndp?include_prereleases)
![Commits behind PyPSA-Eur](https://img.shields.io/github/commits-difference/open-energy-transition/open-tyndp?base=master&head=PyPSA:pypsa-eur:master&label=commits%20behind%20PyPSA-Eur)
[![Test workflows](https://github.com/open-energy-transition/open-tyndp/actions/workflows/test.yaml/badge.svg)](https://github.com/open-energy-transition/open-tyndp/actions/workflows/test.yaml)
[![Documentation](https://readthedocs.org/projects/open-tyndp/badge/?version=latest)](https://open-tyndp.readthedocs.io/en/latest/?badge=latest)
![Size](https://img.shields.io/github/repo-size/open-energy-transition/open-tyndp)
[![Zenodo PyPSA-Eur](https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg)](https://doi.org/10.5281/zenodo.3520874)
[![Zenodo PyPSA-Eur-Sec](https://zenodo.org/badge/DOI/10.5281/zenodo.3938042.svg)](https://doi.org/10.5281/zenodo.3938042)
[![Snakemake](https://img.shields.io/badge/snakemake-β‰₯9-brightgreen.svg?style=flat)](https://snakemake.readthedocs.io)
[![Zenodo TYNDP data](https://zenodo.org/badge/DOI/10.5281/zenodo.14230568.svg)](https://doi.org/10.5281/zenodo.14230568)
[![Discord](https://img.shields.io/discord/911692131440148490?logo=discord)](https://discord.gg/AnuJBk23FU)
[![REUSE status](https://api.reuse.software/badge/github.com/open-energy-transition/open-tyndp)](https://api.reuse.software/info/github.com/open-energy-transition/open-tyndp)

# Open-TYNDP: Interfacing Open Energy System Planning with ENTSO-E Models and Contributing to TYNDP
Open Energy Transition Logo

> [!WARNING]
> Open-TYNDP is under active development and is not yet feature-complete. The current [development status](#development-status) and the general [Limitations](https://open-tyndp.readthedocs.io/en/latest/limitations.html) are important to understand before using the model.

This repository introduces the open model dataset of the Open-TYNDP research and innovation project, which is a collaboration between [Open Energy Transition (OET)](https://openenergytransition.org/) and the European Network of Transmission System Operators for Electricity (ENTSO-E). The project’s aim is to explore and consider the adoption of PyPSA in the Ten-Year Network Development Plan (TYNDP) by building a workflow based on [PyPSA-Eur](https://github.com/pypsa/pypsa-eur). It seeks to complement the tools currently used in the TYNDP cycles, especially for Scenario Building (SB) and Cost-Benefit Analysis (CBA). This approach is designed to enhance transparency and lower barriers to stakeholder participation in European energy planning. Beyond Europe, the project aspires to demonstrate the viability of open-source (OS) frameworks in energy planning, encouraging broader global adoption.

To build trust in and ensure reproducibility with the new open-source toolchain, the project first focuses on replicating key figures from the 2024 TYNDP cycle, before aligning with the current 2026 TYNDP cycle. This process involves developing new features within the open-source domain to address existing gaps, integrating tools for data interoperability and dynamic visualizations, and publishing best practices to encourage the adoption of open energy models. Additionally, the project emphasizes stakeholder consultations and [interactive workshops](https://open-energy-transition.github.io/open-tyndp-workshops/intro.html) alongside the development of the PyPSA tool, further promoting collaboration and transparency throughout the process.

This repository is a soft-fork of [OET/PyPSA-Eur](https://github.com/open-energy-transition/pypsa-eur) and contains the entire project `Open-TYNDP` supported by OET, including code and documentation. The philosophy behind this repository is that no intermediary results are included, but all results are computed from raw data and code.

This repository is maintained using [OET's soft-fork strategy](https://open-energy-transition.github.io/handbook/docs/Engineering/SoftForkStrategy). OET's primary aim is to contribute as much as possible to the open-source upstream repositories. For long-term changes that cannot be directly merged upstream, the strategy organizes and maintains OET forks, ensuring they remain up-to-date and compatible with upstream on a regular basis, while also supporting future contributions back to the OS repositories.

# Development status

**Warning**: Open-TYNDP is under active development and is not yet feature-complete. The current development status and general [Limitations](https://open-tyndp.readthedocs.io/en/latest/limitations.html) are important to understand before using the model. The model includes partial data from the TYNDP 2024 cycle, and its validation is ongoing. The github repository [issues](https://github.com/open-energy-transition/open-tyndp/issues) collect known topics we are working on (please feel free to help or make suggestions). The fact that this project relies on a soft-fork strategy implies that [upstream issues](https://github.com/PyPSA/PyPSA-Eur/issues) need to be addressed in the PyPSA-Eur repository. The [documentation](https://open-tyndp.readthedocs.io/) also remains work in progress.

## βœ… Already implemented features

The back-casting of the 2024 TYNDP cycle involves developing new features based on the published [modelling methodology report](https://2024.entsos-tyndp-scenarios.eu/wp-content/uploads/2025/01/TYNDP_2024_Scenarios_Methodology_Report_Final_Version_250128.pdf). Major and already implemented features are summarized below. Please, refer to the [Release Notes](https://open-tyndp.readthedocs.io/en/latest/release_notes.html) for a more comprehensive list of features and to the relevant [pull requests](https://github.com/open-energy-transition/open-tyndp/pulls?q=is%3Apr+label%3A%22major+feature%22) for extensive documentation of the implementations.

- Introduced a benchmarking framework that assesses Open-TYNDP quality against published TYNDP 2024 data (see PR [#73](https://github.com/open-energy-transition/open-tyndp/pull/73)) and Visualisation Platform data (see PRs [#117](https://github.com/open-energy-transition/open-tyndp/pull/117), [#281](https://github.com/open-energy-transition/open-tyndp/pull/281)).
- Introduced the electricity and hydrogen reference grids from TYNDP 2024 grid data (see PRs [#18](https://github.com/open-energy-transition/open-tyndp/pull/18), [#17](https://github.com/open-energy-transition/open-tyndp/pull/17)), including hydrogen import potentials and corridors from outside of the modelled countries (see PR [#36](https://github.com/open-energy-transition/open-tyndp/pull/36)). 
- Introduced TYNDP offshore wind hubs topology with both electric and hydrogen infrastructure, offshore electrolysers, and detailed wind farm characteristics (see PR [#54](https://github.com/open-energy-transition/open-tyndp/pull/54)).
- Added processing, preparation and attaching of PECD v3.1 renewable profiles and PEMMDB v2.4 hydro inflows to their corresponding components (see PRs [#53](https://github.com/open-energy-transition/open-tyndp/pull/53), [#71](https://github.com/open-energy-transition/open-tyndp/pull/71), [#77](https://github.com/open-energy-transition/open-tyndp/pull/77)).
- Added processing and preparation of PEMMDB v2.4 capacity, must-run, and availability data, along with expansion trajectories for conventional and renewable power generation, electrolysers, batteries, and DSR (see PR [#97](https://github.com/open-energy-transition/open-tyndp/pull/97)).
- Added the TYNDP electricity, hydrogen, methane demands as exogenous demands (see PRs [#14](https://github.com/open-energy-transition/open-tyndp/pull/14) for electricity; [#169](https://github.com/open-energy-transition/open-tyndp/pull/169) and [#230](https://github.com/open-energy-transition/open-tyndp/pull/230) for hydrogen ; and [#208](https://github.com/open-energy-transition/open-tyndp/pull/208) and [#220](https://github.com/open-energy-transition/open-tyndp/pull/220) for methane).
- Added option to use the TYNDP H2 topology including the TYNDP H2 reference grid, H2 Z1 and Z2 setup, production, reconversion and storage technologies (see PR [#17](https://github.com/open-energy-transition/open-tyndp/pull/17)).
- Added TYNDP solar, onwind and conventional thermal generation using PEMMDB capacities, must-runs and availabilities (see PRs [#115](https://github.com/open-energy-transition/open-tyndp/pull/115) and [#139](https://github.com/open-energy-transition/open-tyndp/pull/139) for solar and onwind ; [#195](https://github.com/open-energy-transition/open-tyndp/pull/195) for conventionals) and electrolyzer PEMMDB capacities (only for NT scenario) (see PR [#248](https://github.com/open-energy-transition/open-tyndp/pull/248)).
- Added CO2 emission prices per planning horizon (see PR [#198](https://github.com/open-energy-transition/open-tyndp/pull/198)).
- Introduced a workflow structure for performing Cost-Benefit Analysis (CBA) using both TOOT (Take One Out at a Time) and PINT (Put In at a Time) methodologies for TYNDP transmission and storage projects on top of the SB results (see PR [#149](https://github.com/open-energy-transition/open-tyndp/pull/149)).
- Added the TOOT reference and project network preparation for CBA (see PRs [#199](https://github.com/open-energy-transition/open-tyndp/pull/199), [#211](https://github.com/open-energy-transition/open-tyndp/pull/211)).
- Added weekly rolling horizon optimization for CBA networks (see PR [#217](https://github.com/open-energy-transition/open-tyndp/pull/217)).
- Introduced calculation of B1 indicator in the CBA based on changes in total system costs (see PR [#186](https://github.com/open-energy-transition/open-tyndp/pull/186)).



|       Feature        | TYNDP 2024 topology | Open-TYNDP topology |
|:--------------------:|:-------------------:|:-------------------:|
| **Electricity Grid** | TYNDP 2024 electricity topology | Open-TYNDP electricity topology |
|  **Hydrogen Grid**   | TYNDP 2024 hydrogen topology | Open-TYNDP hydrogen topology |
|  **Offshore Grid**   | TYNDP 2024 offshore topology | Open-TYNDP offshore topology |

## πŸ”¨ Features in development

While multiple TYNDP features are already introduced to the Open-TYNDP model, there are several other features and assumptions that are still in development and currently rely on default implementations and assumptions from PyPSA-Eur.

|                       Milestone                        |                       Feature                       |                                                                                                                                             PR                                                                                                                                             | Status |
|:------------------------------------------------------:|:---------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------:|
|       **Visualizations and workflow automation**       |                 Automated workflow                  |                                                                                                                                                                                                                                                                                            |   βœ…    |
|                                                        |               TYNDP plotting routines               |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|           **Automated tests and benchmarks**           |           Automated benchmarking routine            |                                     [#73](https://github.com/open-energy-transition/open-tyndp/pull/73), [#117](https://github.com/open-energy-transition/open-tyndp/pull/117), [#281](https://github.com/open-energy-transition/open-tyndp/pull/281)                                      |   βœ…    |
|              **TYNDP modelling features**              |           Perfect foresight optimization            |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |            Security of Supply (SoS) loop            |                                                                                                                                                                                                                                                                                            |   βŒ›    |
| **Existing infrastructure and associated parameters**  |             Electricity reference grid              |                                                                                                            [#18](https://github.com/open-energy-transition/open-tyndp/pull/18)                                                                                                             |   βœ…    |
|                                                        |               Hydrogen reference grid               |                                                                          [#17](https://github.com/open-energy-transition/open-tyndp/pull/17), [#36](https://github.com/open-energy-transition/open-tyndp/pull/36)                                                                          |   βœ…    |
|                                                        |                    Offshore grid                    |                                                                                                            [#54](https://github.com/open-energy-transition/open-tyndp/pull/54)                                                                                                             |   βœ…    |
|                                                        |                      PECD data                      |                                                                          [#53](https://github.com/open-energy-transition/open-tyndp/pull/53), [#71](https://github.com/open-energy-transition/open-tyndp/pull/71)                                                                          |   βœ…    |
|                                                        |                    Hydro inflows                    |                                                                                                            [#77](https://github.com/open-energy-transition/open-tyndp/pull/77)                                                                                                             |   βœ…    |
|                                                        |      PEMMDB capacities & must-runs processing       |                                                                                                            [#97](https://github.com/open-energy-transition/open-tyndp/pull/97)                                                                                                             |   βœ…    |
|                                                        |    Investment candidates trajectories processing    |                                                                                                            [#97](https://github.com/open-energy-transition/open-tyndp/pull/97)                                                                                                             |   βœ…    |
|                    **TYNDP demand**                    |                     Electricity                     |                                                                                                            [#14](https://github.com/open-energy-transition/open-tyndp/pull/14)                                                                                                             |   βœ…    |
|                                                        |                      Hydrogen                       |                                                                        [#169](https://github.com/open-energy-transition/open-tyndp/pull/169), [#230](https://github.com/open-energy-transition/open-tyndp/pull/230)                                                                        |   βœ…    |
|                                                        |                       Methane                       |                                                                        [#208](https://github.com/open-energy-transition/open-tyndp/pull/208), [#220](https://github.com/open-energy-transition/open-tyndp/pull/220)                                                                        |   πŸ”¨    |
|                                                        |                   Synthetic fuels                   |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |                  District heating                   |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |                   Energy imports                    |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|          **TYNDP technologies and carriers**           |                  TYNDP generation technologies (incl. SRES and DRES)                  | [#115](https://github.com/open-energy-transition/open-tyndp/pull/115), [#139](https://github.com/open-energy-transition/open-tyndp/pull/139), [#195](https://github.com/open-energy-transition/open-tyndp/pull/195), [#248](https://github.com/open-energy-transition/open-tyndp/pull/248) |   πŸ”¨   |
|                                                        |                 Prosumer modelling                  |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |                    EV modelling                     |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |               Synthetic fuel carriers               |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |                  Hybrid heat pumps                  |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |     Industrial electricity and hydrogen demands     |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |                   Hydrogen zones                    |                                                                                                            [#17](https://github.com/open-energy-transition/open-tyndp/pull/17)                                                                                                             |   βœ…    |
|            **CBA Assessment Framework**                |                TOOT/PINT methodology                          | [#149](https://github.com/open-energy-transition/open-tyndp/pull/149), [#199](https://github.com/open-energy-transition/open-tyndp/pull/199), [#211](https://github.com/open-energy-transition/open-tyndp/pull/211), [#217](https://github.com/open-energy-transition/open-tyndp/pull/217) |   πŸ”¨    |
|                                                        |             Climate years (weighted average)                  |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |                   CBA Benchmarking                            |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|            **CBA Benefit Indicators**                  |       B1: Socioeconomic Welfare (SEW)                         |                                                                                                           [#186](https://github.com/open-energy-transition/open-tyndp/pull/186)                                                                                                            |   βœ…    |
|                                                        |       B2: COβ‚‚ Variation with societal costs                   |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |       B3: DRES Integration (curtailment reduction)            |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |       B4: Non-COβ‚‚ Emissions (NOx, SOx, PM2.5/10, NMVOC, NH₃)  |                                                                                                                                                                                                                                                                                            |   βŒ›    |
|                                                        |       B5: Grid Losses, B6: Adequacy, B7: Flexibility, B8: Stability, B9: Reserves reduction |                                                                                                                                                                                                                                                                                            |   βŒ›    |

**See also**: See also the [GitHub repository issues](https://github.com/open-energy-transition/open-tyndp/issues) for a comprehensive list of currently open issues.

# Repository structure

* `benchmarks`: will store `snakemake` benchmarks (does not exist initially)
* `config`: configurations used in the study
* `cutouts`: will store raw weather data cutouts from `atlite` (does not exist initially)
* `data`: includes input data that is not produced by any `snakemake` rule
* `doc`: includes all files necessary to build the `readthedocs` documentation of PyPSA-Eur
* `envs`: includes backup `conda` environments if `pixi` installation does not work.
* `logs`: will store log files (does not exist initially)
* `notebooks`: includes all the `notebooks` used for ad-hoc analysis
* `report`: contains all files necessary to build the report; plots and result files are generated automatically
* `rules`: includes all the `snakemake`rules loaded in the `Snakefile`
* `resources`: will store intermediate results of the workflow which can be picked up again by subsequent rules (does not exist initially)
* `results`: will store the solved PyPSA network data, summary files and plots (does not exist initially)
* `scripts`: includes all the Python scripts executed by the `snakemake` rules to build the model

# Installation and Usage

## 1. Installation

Clone the repository:

```sh
git clone https://github.com/open-energy-transition/open-tyndp
```
PyPSA-Eur, and consequently Open-TYNDP, relies on a set of other Python packages to function.
We manage these using [pixi](https://pixi.sh/latest/>).
Once pixi is installed, you can activate the project environment for your operating system and have access to all the PyPSA-Eur dependencies from the command line:

```sh
pixi shell -e open-tyndp
```

>[!NOTE]
>`pixi` will create a distinct environment in every project directory, even if you have identical copies of a project cloned locally.
>As there is a common system-level package cache, `pixi` efficiently conserves disk space in such cases.

>[!TIP]
>If `pixi` isn't working, you can install from one of the fallback `conda` environment files found in `envs`.
>For more details see [the PyPSA-Eur installation guide](https://pypsa-eur.readthedocs.io/en/latest/installation.html).

## 2. Run the analysis

```sh
pixi run tyndp
```

This will run all analysis steps to reproduce results and build the report.

To list all the rules that need to be executed (dry run), run:

```sh
pixi run tyndp -n
```

Note: The workflow automatically generates dependency graphs after successful completion (via `rulegraphs` and `filegraphs` rules). The generated graphs are saved to the `resources/` directory.

# 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](https://discord.gg/AnuJBk23FU). Open-TYNDP has its own dedicated channel [pypsa-open-tyndp](https://discord.com/channels/911692131440148490/1414977512089321564) for project-specific discussions.
-   For **bugs and feature requests**, please use the appropriate GitHub issues page. Issues specific to Open-TYNDP belong on the [Open-TYNDP Issues page](https://github.com/open-energy-transition/open-tyndp/issues), while PyPSA-Eur issues should be submitted to the [PyPSA-Eur Github Issues page](https://github.com/PyPSA/pypsa-eur/issues).

# Contact
For any questions about Open-TYNDP or other queries, reach out via the [pypsa-open-tyndp](https://discord.com/channels/911692131440148490/1414977512089321564) channel or tyndp@openenergytransition.org.

Sign Up for the [project newsletter](https://openenergytransitionnewsletter.eo.page/tyndp-oet) for updates!

# Licence

Open-TYNDP is a soft-fork of PyPSA-Eur, relying on a similar licensing strategy. As with PyPSA-Eur, the code in Open-TYNDP is released as free software under the
[MIT License](https://opensource.org/licenses/MIT), see [`Licenses`](https://open-tyndp.readthedocs.io/en/latest/licenses.html) for attribution and licensing strategy details.
Additionally, different licenses and terms of use may apply to the various
input data, see [`Data Sources`](https://open-tyndp.readthedocs.io/en/latest/data_sources.html).

        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 2 days ago

Total Commits: 4,545
Total Committers: 100
Avg Commits per committer: 45.45
Development Distribution Score (DDS): 0.71

Commits in past year: 427
Committers in past year: 45
Avg Commits per committer in past year: 9.489
Development Distribution Score (DDS) in past year: 0.74

Name Email Commits
Fabian Neumann f****n@o****e 1320
pre-commit-ci[bot] 6****] 451
Fabian f****f@g****e 429
lisazeyen l****n@w****e 367
Jonas HΓΆrsch j****h@k****u 245
Tom Brown t****m@n****g 216
martavp m****z@g****m 119
martacki m****i@k****u 117
Thomas Gilon t****n@o****g 116
Philipp Glaum p****m@t****e 95
AmosSchledorn a****n@i****m 88
Koen van Greevenbroek k****k@u****o 79
virio-andreyana 1****a 77
Lukas Trippe l****p@p****e 74
Adam-Dvorak1 9****1 63
euronion 4****n 57
Daniel RΓΌdt 1****t 50
github-actions[bot] 4****] 39
Parisra 1****a 38
LukasFrankenQ l****n@e****k 35
Michael Lindner m****r@p****e 32
Bobby Xiong 3****g 31
millingermarkus m****r@c****e 27
Thomas Gilon t****i@c****m 26
Max Parzen m****n@e****k 26
toniseibold t****b@g****m 21
ekatef e****a@g****m 18
chrstphtrs c****s@t****e 17
cpschau 1****u 16
Jeroen Peters h****s@g****m 15
and 70 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 3 days ago

Total issues: 50
Total pull requests: 79
Average time to close issues: 30 days
Average time to close pull requests: 7 days
Total issue authors: 5
Total pull request authors: 6
Average comments per issue: 0.14
Average comments per pull request: 1.32
Merged pull request: 36
Bot issues: 0
Bot pull requests: 0

Past year issues: 43
Past year pull requests: 79
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 7 days
Past year issue authors: 5
Past year pull request authors: 6
Past year average comments per issue: 0.16
Past year average comments per pull request: 1.32
Past year merged pull request: 36
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/open-energy-transition/open-tyndp

Top Issue Authors

  • tgilon (25)
  • daniel-rdt (12)
  • lisazeyen (10)
  • willu47 (2)
  • coroa (1)

Top Pull Request Authors

  • tgilon (41)
  • daniel-rdt (28)
  • lisazeyen (4)
  • coroa (3)
  • cdgaete (2)
  • willu47 (1)

Top Issue Labels

  • SB (15)
  • CBA (4)
  • tyndp (2)
  • M (2)
  • enhancement (2)
  • S (2)
  • high priority (2)
  • hackathon (1)

Top Pull Request Labels

  • SB (8)
  • CBA (3)
  • enhancement (2)
  • DNMY (2)
  • major feature (1)

Score: 9.622450022803015