Skip to content

MPavicevic/pypsa-africa

 
 

Repository files navigation

PyPSA meets Africa

Development Status: Stable and Active

GitHub Super-Linter Build Status Size Documentation Status

PyPSA meets Africa is a free and open source software initiative aiming to develop a powerful energy system model for Africa. The tool was first released end of 2022 and is heavily based on PyPSA and PyPSA-Eur. In 2022 we will focus on Earth wide expansion. Stay tuned and join our mission - We look for users, co-developers and leaders!

A short presentation about our project and its aims is given on our website. There you can also sign-up to our Newsletter. Watch our latest discussion with African leaders about Open Energy System Modelling in Africa: State of the Art and Future Opportunities. Let's work together for a better future.

Get involved

There are multiple ways to get involved and learn more about our work. That's how we organise ourselves:

  • Discord NEW! (Open)
    • chat with the community, team up on features, exchange with developers, code in voice channels
    • registration and usage is for free

  • General code meeting (Open)
    • every second Thursday 16-17:00 (UK time) download .ics
    • join for project news and high-level code updates
    • meeting hosted on Discord
    • open agenda. See what we will discuss. Invited members have edit rights.
  • Buddy talk (Open)
  • Specific code meeting (by invitation)
    • current meetings: 1) Demand creation (WP1) 2) Data workflow updates (WP1-WP5) and 3) AI asset detection (WP6)
    • every week Friday 1) 13-13:45 2) 14-14:45 (UK time), 3) 15-16:00 (UK time)
    • updates, demos, task distribution, weekly targets, Q&A
  • Outreach meeting (by invitation)
    • every second week
    • planning, discussing events, workshops, communication, community activities
  • Google Drive (by invitation)
    • access to presentations, lists, documents

Installation

  1. Open your terminal at a location where you want to install pypsa-africa. Type the following in your terminal to download the package from GitHub:
    .../some/path/without/spaces % git clone https://github.com/pypsa-meets-africa/pypsa-africa.git
  1. The python package requirements are curated in the envs/environment.yaml file. The environment can be installed using:
    .../pypsa-africa % conda env create -f envs/environment.yaml
  1. For running the optimization one has to install the solver. We can recommend the open source HiGHs solver which installation manual is given here.

  2. To use jupyter lab (new jupyter notebooks) continue with the ipython kernel installation and test if your jupyter lab works:

    .../pypsa-africa % ipython kernel install --user --name=pypsa-africa

    .../pypsa-africa % jupyter lab

Test run on tutorial

  • In the folder open a terminal/command window to be located at this path ~/pypsa-africa/
  • Activate the environment conda activate pypsa-africa
  • Rename config.tutorial.yaml to config.yaml. For instance in Linux:
    mv config.tutorial.yaml config.yaml 
  • Run a dryrun of the Snakemake workflow by typing simply in the terminal:
    snakemake -j 1 solve_all_networks -n
    Remove the -n to do a real run. Follow the tutorial of PyPSA-Eur 1 and 2 on YouTube to continue with an analysis.

Training

  • We recently updated some hackathon material for PyPSA-Africa. The hackathon contains jupyter notebooks with exercises. After going through the 1 day theoretical and practical material you should have a suitable coding setup and feel confident about contributing.
  • The get a general feeling about the PyPSA functionality, we further recommend going through the PyPSA and Atlite examples.

Questions and Issues

  • We are happy to answer questions and help with issues if they are public. Through being public the wider community can benefit from the raised points. Some tips. Bugs and feature requests should be raised in the GitHub Issues. General workflow or user questions as well as discussion points should be posted at the GitHub Discussions tab. Happy coding.

Documentation

The documentation is available here: documentation.

Collaborators

hazemakhalek
Hazemakhalek
jarry7
Jarrad Wright
fneum
Fabian Neumann
euronion
Euronion
Justus-coded
Justus Ilemobayo
mnm-matin
Mnm-matin
desenk
Desen Kirli
pz-max
Max Parzen
Cesare-Caputo
Cesare-Caputo
Nayara2020
Nayara2020
Ay-Khi
Ayman Alkhirbash
davide-f
Davide-f
koen-vg
Koen Van Greevenbroek
Hazem-IEG
Hazem-IEG
energyLS
EnergyLS
restyled-commits
Restyled Commits
ekatef
Ekaterina
Tooblippe
Tobie
LukasFrankenQ
Lukas Franken
EmreYorat
EmreYorat
stephenjlee
Stephen J Lee

About

PyPSA meets Africa: An Open Optimisation Model of the African Energy System. Our website: https://pypsa-meets-africa.github.io/

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 99.3%
  • Python 0.7%