Home

Awesome

Optimal Wind+Hydrogen+Other+Battery+Solar (WHOBS) electricity systems for European countries

This free software uses open data to calculate what it would cost to create a constant "baseload" generation profile from a combination of wind power, solar power and storage (using batteries and the electrolysis of hydrogen) for different European countries. Total costs are calculated using projected assumptions for 2020, 2030 and 2050 (see assumptions.csv). Hourly weather data over 31 years are used from the open renewables.ninja project.

Current electricity generation costs (investment and operation) are around 50-70 EUR/MWh (not necessarily the same as the average market price).

Using wind+solar+batteries+hydrogen we get total system costs (broken down by technology):

2020 assumptions (see assumptions.csv; important ones: cost of capital 5% - higher than in mature markets like Germany today - and underground hydrogen storage):

2020

2030 assumptions (cost reductions + cost of capital to 3% as investors accustomise to renewables):

2030

2050 assumptions (cost reductions + cost of capital to 2.5% as investors accustomise to renewables):

2050

Warnings

Installation

Software

You'll need to install an environment for the Python programming language (Version 3.x) along with the library PyPSA. You can follow PyPSA's installation instructions or just do pip install pypsa if you know what you're doing.

You'll also need a linear program solver, see the advice for free software solvers. To solve 31 years at once, you'll need a commercial solver like Gurobi or CPLEX.

Hardware

On a standard laptop or desktop you can solve the optimisation with a couple of years of weather data, even using an open source solver like cbc (change the solver_name setting).

For the full 31 years, you'll need bigger iron, up to 20 GB RAM (the main bottleneck), and a commercial solver like Gurobi or CPLEX. It will take about 1-2 hours per country.

Weather data

For the wind and solar generation time series, get from the renewables.ninja download page:

Running a simulation

For short simulations, you can run the notebook run_single_simulations.ipynb.

To run them on the command line, use python whobs.py.

To run many simulations, e.g. on a cluster, use snakemake.

Results files

Results are summarised in results-181002/summary.csv. The full PyPSA output files (including all dispatch time series) can be found on Zenodo (6 GB).

Licence

All code in this repository is copyright 2018 Tom Brown (KIT)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.