Skip to content

agoenergy/pypsa-spice

Repository files navigation

PyPSA-spice banner

PyPSA-SPICE: PyPSA-based Scenario Planning and Integrated Capacity Expansion

License PyPSA version Snakemake Code style

Tip

If you are considering using this model builder, please reach out to us at [email protected]. We would be happy to help you get started. If you encounter a bug, please create a new issue. For new ideas or feature requests, you can start a conversation in the discussions section of the repository.

PyPSA-SPICE is an open-source model builder for assessing national mid-/long-term energy scenarios using a least-cost, multi-sectoral optimisation approach based on the PyPSA framework. It can be used to build models that represent one or more countries across multiple interconnected nodes linked by electricity transmission. Within each region, it models the integration of the power, heat, and transport sectors.

The model workflow has been designed to be more accessible compared to other PyPSA-based models, though basic Python coding knowledge is required.

PyPSA-SPICE_single_node_energy_flow

Quick installation

In order to install the application, first make sure you have git, conda and optionally mamba installed.

Then, clone the source code from GitHub onto your local machine and navigate into the pypsa-spice directory. Finally, use the provided environment.yaml file to create the conda environment.

git clone https://github.com/agoenergy/pypsa-spice.git
cd pypsa-spice
conda env create -f envs/environment.yaml

Note: mamba is a faster replacement for conda, but its installation is not mandatory. You can use conda instead if you prefer. For installation of mamba, please refer to the installation Guide

Once mamba is installed, you can also create the environment more quickly using:

mamba env create -f envs/environment.yaml

Execution of the model builder using template data

To have a first glance of how the model builder works, template data in example folder can be used. The following command can be executed to run the whole workflow at once. The command will use 1 core (-j1) and 1 thread (-c4) to execute. For more information, please refer to the snakemake documentation to adjust the cores and threads to use.

snakemake -j1 -c4 solve_all_networks

or

snakemake -call

For more information, please follow the guidance in this documentation website.

Citing PyPSA-SPICE

Please use the citation below:

  • Agora Think Tanks (2025): PyPSA-SPICE: PyPSA-based Scenario Planning and Integrated Capacity Expansion

Contributions

We welcome any contributions and additional spice to this project; please have a look at contributing guide and our code of conduct. If you have any ideas, suggestions or encounter problems, feel free to file issues or make pull requests on GitHub.

Maintained by

Agora Energiewende

Supported by

CASE INETTT

License

Copyright © PyPSA-SPICE developers

PyPSA-SPICE is licensed under the open source GNU General Public License v2.0 or later with the following information:

The documentation is licensed under CC-BY-4.0.

The repository uses REUSE to expose the licenses of its files.

About

PyPSA-SPICE: PyPSA-based Scenario Planning and Integrated Capacity Expansion Model Builder

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors