Warning
Open-TYNDP is under active development and is not yet feature-complete. The current development status and the general Limitations 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) 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. 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 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 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. 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.
Warning: Open-TYNDP is under active development and is not yet feature-complete. The current development status and general Limitations 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 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 need to be addressed in the PyPSA-Eur repository. The documentation also remains work in progress.
The back-casting of the 2024 TYNDP cycle involves developing new features based on the published modelling methodology report. Major and already implemented features are summarized below. Please, refer to the Release Notes for a more comprehensive list of features and to the relevant pull requests for extensive documentation of the implementations.
- Introduced a benchmarking framework that assesses Open-TYNDP quality against published TYNDP 2024 data (see PR #73) and Visualisation Platform data (see PRs #117, #281).
- Introduced the electricity and hydrogen reference grids from TYNDP 2024 grid data (see PRs #18, #17), including hydrogen import potentials and corridors from outside of the modelled countries (see PR #36).
- Introduced TYNDP offshore wind hubs topology with both electric and hydrogen infrastructure, offshore electrolysers, and detailed wind farm characteristics (see PR #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, #71, #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).
- Added the TYNDP electricity, hydrogen, methane demands as exogenous demands (see PRs #14 for electricity; #169 and #230 for hydrogen ; and #208 and #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).
- Added TYNDP solar, onwind and conventional thermal generation using PEMMDB capacities, must-runs and availabilities (see PRs #115 and #139 for solar and onwind ; #195 for conventionals) and electrolyzer PEMMDB capacities (only for NT scenario) (see PR #248).
- Added CO2 emission prices per planning horizon (see PR #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).
- Added the TOOT reference and project network preparation for CBA (see PRs #199, #211).
- Added weekly rolling horizon optimization for CBA networks (see PR #217).
- Introduced calculation of B1 indicator in the CBA based on changes in total system costs (see PR #186).
- Added automated Windows installer for easy setup on Windows systems (see PR #333).
| Feature | TYNDP 2024 topology | Open-TYNDP topology |
|---|---|---|
| Electricity Grid | ![]() |
![]() |
| Hydrogen Grid | ![]() |
![]() |
| Offshore Grid | ![]() |
![]() |
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, #117, #281 | β |
| TYNDP modelling features | Perfect foresight optimization | β | |
| Security of Supply (SoS) loop | β | ||
| Existing infrastructure and associated parameters | Electricity reference grid | #18 | β |
| Hydrogen reference grid | #17, #36 | β | |
| Offshore grid | #54 | β | |
| PECD data | #53, #71 | β | |
| Hydro inflows | #77 | β | |
| PEMMDB capacities & must-runs processing | #97 | β | |
| Investment candidates trajectories processing | #97 | β | |
| TYNDP demand | Electricity | #14 | β |
| Hydrogen | #169, #230 | β | |
| Methane | #208, #220 | π¨ | |
| Synthetic fuels | β | ||
| District heating | β | ||
| Energy imports | β | ||
| TYNDP technologies and carriers | TYNDP generation technologies (incl. SRES and DRES) | #115, #139, #195, #248 | π¨ |
| Prosumer modelling | β | ||
| EV modelling | β | ||
| Synthetic fuel carriers | β | ||
| Hybrid heat pumps | β | ||
| Industrial electricity and hydrogen demands | β | ||
| Hydrogen zones | #17 | β | |
| CBA Assessment Framework | TOOT/PINT methodology | #149, #199, #211, #217 | π¨ |
| Climate years (weighted average) | β | ||
| CBA Benchmarking | β | ||
| CBA Benefit Indicators | B1: Socioeconomic Welfare (SEW) | #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 for a comprehensive list of currently open issues.
benchmarks: will storesnakemakebenchmarks (does not exist initially)config: configurations used in the studycutouts: will store raw weather data cutouts fromatlite(does not exist initially)data: includes input data that is not produced by anysnakemakeruledoc: includes all files necessary to build thereadthedocsdocumentation of PyPSA-Eurenvs: includes backupcondaenvironments ifpixiinstallation does not work.logs: will store log files (does not exist initially)notebooks: includes all thenotebooksused for ad-hoc analysisreport: contains all files necessary to build the report; plots and result files are generated automaticallyrules: includes all thesnakemakerules loaded in theSnakefileresources: 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 thesnakemakerules to build the model
For Windows users, download the latest installer (e.g., open-tyndp-0.4.0-pixi-Windows-x86_64.exe) from the releases page and run it. The installer automatically sets up everything you need, including pixi, the repository, and the conda environment. See utils/windows-installer/README.md for details.
Clone the repository:
git clone https://github.com/open-energy-transition/open-tyndpPyPSA-Eur, and consequently Open-TYNDP, relies on a set of other Python packages to function. We manage these using pixi. 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:
pixi shell -e open-tyndpNote
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.
pixi run tyndpThis 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:
pixi run tyndp -nNote: The workflow automatically generates dependency graphs after successful completion (via rulegraphs and filegraphs rules). The generated graphs are saved to the resources/ directory.
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. Open-TYNDP has its own dedicated channel pypsa-open-tyndp 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, while PyPSA-Eur issues should be submitted to the PyPSA-Eur Github Issues page.
For any questions about Open-TYNDP or other queries, reach out via the pypsa-open-tyndp channel or tyndp@openenergytransition.org.
Sign Up for the project newsletter for updates!
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, see Licenses for attribution and licensing strategy details.
Additionally, different licenses and terms of use may apply to the various
input data, see Data Sources.






