247-cfe
247-cfe copied to clipboard
Explore the impacts of 24/7 Carbon-Free Energy PPAs
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:
- On the means, costs, and system-level impacts of 24/7 carbon-free energy procurement
- Spatio-temporal load shifting for truly clean computing
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-branchoption allows for cloning only git history leading to tip of the tag. This saves a lot of unnecessary code from being cloned. -
tag_nameis 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 settingareafrom "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.
- 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.