Skip to content

open-energy-transition/form-energy-storage

 
 

Repository files navigation

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

The Role of Energy Storage in Germany

Open Energy Transition Logo

This repository is a soft-fork of OET/PyPSA-Eur and contains the entire project The Role of Energy Storage in Germany supported by Open Energy Transition (OET)*, including code and visualization. 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 (OS) 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, while also supporting future contributions back to the OS repositories.

Introduction

Energy storage technologies hold significant promise for reducing carbon emissions. While short-duration storage is popular today, the system benefits for long duration storage are rather hidden and require more effort to receive policy attention. This project reveals the hidden benefits of multi-day energy storage through the analysis of energy system models.

The primary objectives were to develop a policy relevant validated energy system model with a focus on Germany, and integrate various representations of short to long-duration energy storage into the model. Optimization runs were conducted to explore various scenarios to inform policy-makers about the benefits of various types of energy storage. The project culminates in a collection of comprehensive result plots and csv files that are based on open-source software and fully reproducible. OET, an international non-profit organization specializing in open energy modeling software development and support, brought its expertise to this project. The organization has a proven track record in promoting transparent, data-driven decision-making in energy policy and planning, with its software products (including PyPSA-Eur and PyPSA-Earth) used in more than 50 research and industry-related projects.

For further readings of PyPSA and PyPSA-Eur, check out:

Installation and Tutorial

To install the program and recreate the study scenarios, refer to the following documentation:

Scope of the Model

alt text

To strike a good balance between the spatial and temporal resolution of the model and the required computational power and time, we limit the scope of the model to the following:

  • Spatial Scope:
    • The model includes Germany, along with its grid neighboring countries and Italy, making up 12 out of the 34 countries in PyPSA-Eur.
    • The spatial resolution are 52 nodes in total, with 31 nodes dedicated to Germany, making the results for Germany more accurate than those for other modeled countries.
  • Temporal Scope:
    • The analysis targets the near-term application of iron-air storage technologies, focusing on the year 2035.
    • The temporal resolution is segmented into 4380 snapshots, equivalent to an average temporal clustering of 2 hourly resolution. See Segmentation Temporal Clustering for more details.
  • Sectoral Scope:
    • The model includes only sectors with energy storage technologies, specifically the power, heating, and electric transport sectors, while excluding the industrial and fossil transport sector.

To view all the changes in detail, refer to:

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 original PyPSA-Eur 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.

PyPSA-Eur Grid Model

The default dataset consists of:

  • A grid model based on a prebuilt high voltage-electricity grid (incl. 200 kV and above) extracted from OpenStreetMap. The route and circuit lengths are similar to those found in the official ENTSO-E Transmission Inventory data. (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.

In the default PyPSA-Eur version, 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.

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

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
  • documentation: includes all files necessary to build the jupyter book documentation of Form Energy Storage version of PyPSA-Eur
  • envs: includes all the mamba environment specifications to run the workflow
  • logs: will store log files (does not exist initially)
  • notebooks: includes all the jupyter notebooks used for ad-hoc analysis
  • 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)
  • rules: includes all the snakemakerules loaded in the Snakefile
  • scripts: includes all the Python scripts executed by the snakemake rules to build the model

About

The Role of Energy Storage in Germany using PyPSA-Eur

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 71.6%
  • Python 28.3%
  • Other 0.1%