Awesome
<!-- SPDX-FileCopyrightText: 2023 Iegor Riepin, Tom Brown SPDX-License-Identifier: CC0-1.0 -->PyPSA code for exploring the 24/7 Carbon-Free Energy procurement in Europe
Project webpage
You are welcome to visit a project webpage for detailed information about our research.
Getting started
This project explores the means, costs and impacts of 24/7 Carbon-Free Energy procurement in Europe.
There are five individual studies planned as deliverables for this research project. Ultimately, we want the entire scientific workflow, from raw data to final charts, to be fully reproducible for each study. This repository will include code for three studies linked to GitHub releases. Additional research papers are hosted in dedicated GitHub repositories with own reproducible workflows. The five studies are all concerned with 24/7 Carbon-Free Energy procurement in Europe, but they differ in their focuses, model formulations, scenarios, etc.
This research is supported by a grant from Google LLC.
Study 1: System-level impacts of 24/7 carbon-free electricity procurement in Europe (Zenodo, October 2022)
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.
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: The value of space-time load-shifting flexibility for 24/7 carbon-free electricity procurement (Zenodo, July 2023)
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: (work in progress) On the role of 24/7 carbon-free energy matching in accelerating advanced clean energy technologies
In the third study, we argue that the commitment by a small number of companies to round-the-clock matching can create an early market and spur substantial learning of the advanced electricity technologies. We demonstrate these effects for two technologies: long-duration energy storage and clean firm generation. Cost reductions make 24/7 matching more attractive for other actors, leading to a virtuous circle that accelerates the time when the technologies become cost-competitive in the rest of the electricity market. These indirect effects unlock greenhouse gas savings far beyond the direct emission reduction of initial investments.
Research papers
On the means, costs, and system-level impacts of 24/7 carbon-free energy procurement (Energy Strategy Reviews, 2024)
Spatio-temporal load shifting for truly clean computing (in review)
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.
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 settingarea
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.
- 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.