Skip to content

Ekaterina-Vo/pypsa-africa

 
 

Repository files navigation

PyPSA meets Africa and PyPSA meets Earth

Development Status: Stable and Active

Status Linux Status Mac Status Windows Documentation Status Size License: GPL v3 Code style: black pre-commit.ci status Discord Google Drive

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 initiative meeting (Open)
    • every forth Thursday each month 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 (Open)
    • meeting hosted on Discord
    • join updates, demos, Q&A's, discussions and the coordination of each work package
      1. Demand creation and prediction meeting, on demand
      2. AI asset detection meeting, every Tuesday 15:30 (UK time), download .ics
      3. Sector coupling meeting, every Thursday 09:00 (UK time), download .ics
      4. Data workflow and architecture meeting, every Thursday 13:30 (UK time), download .ics
  • Outreach meeting (Open)
    • every second week, Tuesday 17:00 (UK time)
    • planning, discussing events, workshops, communication, community activities
  • Google Drive
    • access to minutes, presentations, lists, documents (access to minutes)

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

For faster installation you might want to try mamba

    (base) conda install -c conda-forge mamba
    .../pypsa-africa % mamba 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
LukasFrankenQ
Lukas Franken
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
ekatef
Ekaterina
restyled-commits
Restyled Commits
Tomkourou
Thomas Kouroughli
giacfalk
Giacomo Falchetta
Tooblippe
Jarrad Wright
AnasAlgarei
AnasAlgarei
martacki
Martha Frysztacki
EmreYorat
EmreYorat
HanaElattar
HanaElattar
squoilin
Sylvain Quoilin
stephenjlee
Stephen J Lee

About

PyPSA 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.2%
  • Python 0.8%