Dataset Open Access
Supplementary Data (preliminary version)
PyPSA-Eur: An Open Optimisation Model of the European Transmission System
Authors: J. Hörsch, F. Hofmann, D. Schlachtberger, T. Brown
The role of spatial scale in joint optimisations of generation and transmission for European highly renewable scenarios
Authors: J. Hörsch, T. Brown
The files in this record contain the scripts to build a PyPSA model of the European Electricity System including renewable feed-in from wind, solar and hydro installations derived from reanalysis weather data satellite irradiation. The model PyPSA-Eur is described in the above publication.
To use the scripts, you need the following free software Python libraries:
and other standard libraries from the Python Package Index (PyPI), such as pandas, pyomo, countrycode, etc.
snakemake requires that all code runs with Python version 3. The code setup is known to work with the following versions: PyPSA 0.12.0, pandas 0.21.1, numpy 0.14.0, scipy 0.19.1, pyomo 5.2. You may need to downgrade your libraries to these versions for the scripts to work.
The Python scripts in this repository (in the directory scripts/) are released under the GNU General Public Licence Version 3.0 (GPL 3.0).
The scripts build_*.py process all raw input data into a form where it can be used in the model.
base_network.py creates the initial PyPSA network topology.
add_electricity.py adds generators and storage units to the models, it generates the detailed resolved model described in the PyPSA-Eur paper.
simplify_network.py removes stub ac-buses from network topology and simplifies long dc lines.
cluster_network.py creates clustered representations of the electricity network for a given number of buses following the topology described in the "spatial scale" paper.
prepare_network.py adds parameters like the CO2 limit and the transmission expansion volume relevant for the optimization to the model.
All scripts are managed with the snakemake workflow management tool.
To run the scripts, adjust the parameters in config.yaml and cluster.yaml to your local configuration. Then simply execute
for the rule you want to run.
The input data include: