This repository contains data, model files and example code for the paper Reducing climate risk in energy system planning: a posteriori time series aggregation for models with storage.
A single bash script runs all simulations in the paper, post-processes the results and generates the figures. To run it on Linux or Mac OS, call
sh scripts/main.sh
from a command line in the main directory (not in the scripts/
directory). This, in turn,
runs three scripts:
run_validation.sh
: the validation experimentrun_example.sh
: the example experimentmake_figures.sh
: collate and clean the data, and create the figures. These appear in the directoryoutputs/plots_post/
.
In this repo, this code is structured to run all simulations in series. However, each of the 40 replications can also be run in parallel -- you can do this for your machine by running each REPLICATION
separately (this variable appears in the .sh
files).
models/
: power system model generating files, forCalliope
(see acknowledgements)data/
: demand and weather time series datamodel_files/
: power system model generating files, forCalliope
(see acknowledgements)models/
: python code to run the modelsoutputs/
: where simulation outputs and figures are storedscripts/
: bash shell to run experiments and create figures- various
.py
functions to run the simulations and create figures
Running the code in this repo requires two things: some python
packages and a solver for the optimisation problem. For a very quick way to install these, follow the Requirements & installation
instructions for this repo, as it has the same dependencies. Otherwise, install the following:
- Python modules:
Calliope 0.6.10
: A (fully open-source) energy system model generator. See this link for installation. If the conda install takes a long time, you can also usepip install calliope
.numpy
(pip install numpy
)pandas
(pip install pandas
)matplotlib
(pip install matplotlib
)yaml
(pip install pyyaml
)sklearn
(pip install scikit-learn
)
- Other:
cbc
: open-source optimiser: see this link for installation. Other solvers (e.g.gurobi
) are also possible -- the solver can be specified inmodel_files/model.yaml
.
If you use this repository for further research, please cite the following papers:
- AP Hilbers, DJ Brayshaw, A Gandy (2023). Reducing climate risk in energy system planning: a posteriori time series aggregation for models with storage. Applied Energy, 334, 120624.
Adriaan Hilbers. Department of Mathematics, Imperial College London. [email protected].
Models are constructed in the modelling framework Calliope
, created by Stefan Pfenninger and Bryn Pickering. See callio.pe or the following paper for details:
- Pfenninger, S. and Pickering, B. (2018). Calliope: a multi-scale energy systems modelling framework. Journal of Open Source Software, 3(29), 825, doi:10.21105/joss.00825.
The demand and wind dataset is based on work by Hannah Bloomfield et al. Details can be found in the following paper and dataset:
-
Bloomfield, H. C., Brayshaw, D. J. and Charlton-Perez, A. (2019) Characterising the winter meteorological drivers of the European electricity system using Targeted Circulation Types. Meteorological Applications. ISSN 1469-8080. doi:10.1002/met.1858
-
HC Bloomfield, DJ Brayshaw, A Charlton-Perez (2020). MERRA2 derived time series of European country-aggregate electricity demand, wind power generation and solar power generation. University of Reading. Dataset. doi:10.17864/1947.239