Skip to content

PyPSA/247-cfe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webpage License: MIT License: CC BY 4.0 Zenodo Study1 Zenodo Stidy2

PyPSA code for exploring the 24/7 Carbon-Free Energy procurement in Europe

Project webpage

Visit our webpage for detailed insights about our research.

Getting started

This project explores the means, costs and impacts of 24/7 Carbon-Free Energy procurement in Europe.

Three invididual studies are planned as deliverables of this research project. The three studies will be linked to GitHub releases and individual Zenodo repositories. All studies are focused on the topic of 24/7 Carbon-Free Energy procurement in Europe; however, studies will differ in terms of their focuses, model formulations, scenarios, etc.

We aim to make the scientific workflow and results for each study to be fully reproducible. To access code for published studies, clone a corresponding GitHub release, see sections Study 1 and Study 2. More information is in Requirements and Software.

This research is supported by a grant from Google LLC.

Study 1:

In this study, we investigate both the means and costs of pursuing different clean electricity procurement strategies for companies in a selection of European countries. We also explore how the 24/7 clean energy procurement affects the rest of the European electricity system.

NB The Study 1 is now also available with Linopy integration under the tag v0.2. Linopy is an open-source python package for linear or mixed-integer optimization.

Study 2:

In this study, we explore how and why space-time load-shifting flexibility can be used to meet high 24/7 carbon-free energy targets, as well as what potential benefits it may offer to 24/7 participants and to the rest of the energy system. To answer these questions, we expand the mathematical model of 24/7 CFE procurement developed in the previous work by incorporating spatial and temporal demand flexibility provided by electricity consumers that follow 24/7 carbon-free energy goals.

Study 3:

On the role of 24/7 CFE in accelerating advanced clean energy technologies (work in progress).

Research papers related to this project:

How to reproduce results of a study?

First, clone the repository:

git clone https://github.com/PyPSA/247-cfe --branch <tag_name> --single-branch
  • --single-branch option allows for cloning only git history leading to tip of the tag. This saves a lot of unnecessary code from being cloned.

  • tag_name is v0.2 for Study 1 or v0.3 for Study 2

Second, install the necessary dependencies using environment.yml file. The following commands will do the job:

conda env create -f envs/environment.yml
conda activate 247-cfe

Third, to run all the scenarios from the study, run the snakemake worflow:

snakemake -call
  • Note that this call requires a high-performance computing environment.

  • It is possible to run a smaller version of the model by adjusting the settings in config.yaml. For example, changing the config setting area from "EU" to "regions" reduces the regional coverage of the model, making the size of the problem feasible to solve on a private laptop with 8GB RAM.

Finally, when the workflow is complete, the results will be stored in results directory. The directory will contain solved networks, plots, summary csvs and logs.

  1. At this point, you can also compile the LaTeX project to reproduce the study .pdf file.

Requirements

Data

Code is based on the brownfield networks exported from PyPSA-Eur with myopic setting to get brownfield networks for 2025/2030. For convenience, sample networks are provided in the input/ folder.

Technology data assumptions are automatically retrieved from technology-data repository for <year> and <version>, as specified in config.yaml.

Software

The code is known to work with python 3.11, PyPSA 0.25, pandas 1.5.3, numpy 1.24.2, linopy 0.2.7, and gurobi 10.0.1.

The complete list of package requirements is in the envs/environment.yaml file. The environment can be installed and activated using:

.../247-cfe % conda env create -f envs/environment.yaml
.../247-cfe % conda activate 247-env

If you have troubles with a slow conda installation, we recommend to install mamba:

conda install -c conda-forge mamba

and then install the environment with a fast drop-in replacement via

mamba env create -f envs/environment.yaml

License

This code is licensed under the open source MIT License. Different open licenses apply to LaTeX files and input data, see Specifications.