PyPSA-Wal
A Sector-Coupled Open Optimisation Model of the Belgian Energy System with Emphasis on the Wallonia Region.
https://github.com/open-energy-transition/pypsa-wal
Category: Energy Systems
Sub Category: Global and Regional Energy System Models
Keywords from Contributors
energy-system-model energy-system power-systems energy-model pypsa capacity-expansion-planning energy-data europe power-grid capacity-expansion-model
Last synced: 26 minutes ago
JSON representation
Repository metadata
PyPSA-WAL: A PyPSA model of the Walloon region
- Host: GitHub
- URL: https://github.com/open-energy-transition/pypsa-wal
- Owner: open-energy-transition
- Fork: true (open-energy-transition/pypsa-eur)
- Created: 2025-09-04T15:07:19.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2025-11-27T08:21:40.000Z (29 days ago)
- Last Synced: 2025-11-27T14:05:33.527Z (29 days ago)
- Language: Python
- Homepage:
- Size: 105 MB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 5
- Releases: 1
https://github.com/open-energy-transition/pypsa-wal/blob/master/

[](https://github.com/pypsa/pypsa-eur/actions/workflows/test.yaml)
[](https://pypsa-eur.readthedocs.io/en/latest/?badge=latest)

[](https://doi.org/10.5281/zenodo.3520874)
[](https://doi.org/10.5281/zenodo.3938042)
[](https://snakemake.readthedocs.io)
[](https://discord.gg/AnuJBk23FU)
[](https://api.reuse.software/info/github.com/pypsa/pypsa-eur)
# PyPSA-Wal
This repository is a soft-fork of [PyPSA-Eur](https://github.com/pypsa/pypsa-eur) and contains the entire project `pypsa-wal` supported by [Open Energy Transition (OET)](https://openenergytransition.org/)*, including code and report. The philosophy behind this repository is that no intermediary results are included, but all results are computed from raw data and code. The structure is also inspired by [cookiecutter-project](https://github.com/PyPSA/cookiecutter-project).
This repository is maintained using [OET's soft-fork strategy](https://open-energy-transition.github.io/handbook/docs/Engineering/SoftForkStrategy). OET's primary aim is to contribute as much as possible to the open source (OS) upstream repositories. For long-term changes that cannot be directly merged upstream, the strategy organizes and maintains OET forks, ensuring they remain up-to-date and compatible with upstream, while also supporting future contributions back to the OS repositories.
# Repository structure
* `benchmarks`: will store `snakemake` benchmarks (does not exist initially)
* `config`: configurations used in the study
* `cutouts`: will store raw weather data cutouts from `atlite` (does not exist initially)
* `data`: includes input data that is not produced by any `snakemake` rule
* `doc`: includes all files necessary to build the `readthedocs` documentation of PyPSA-Eur
* `envs`: includes all the `mamba` environment specifications to run the workflow
* `logs`: will store log files (does not exist initially)
* `notebooks`: includes all the `notebooks` used for ad-hoc analysis
* `report`: contains all files necessary to build the report; plots and result files are generated automatically
* `rules`: includes all the `snakemake`rules loaded in the `Snakefile`
* `resources`: will store intermediate results of the workflow which can be picked up again by subsequent rules (does not exist initially)
* `results`: will store the solved PyPSA network data, summary files and plots (does not exist initially)
* `scripts`: includes all the Python scripts executed by the `snakemake` rules to build the model
# Installation and Usage
:warning: Current run time as of 18/09/2025 (PR #3) :warning:
| Elapsed (wall clock) time | 18:37.24 |
|---|---|
| Max RSS (KB) | 8631624 (8.24 GB RAM) |
## 1. Installation
Clone the repository:
git clone https://github.com/open-energy-transition/{{repository}}
You need [mamba](https://mamba.readthedocs.io/en/latest/) to run the analysis. Users may also prefer to use [micromamba](https://mamba.readthedocs.io/en/latest/installation/micromamba-installation.html) or [conda](https://docs.conda.io/projects/conda/en/latest/index.html). Using `mamba`, you can create an environment from within you can run it:
mamba env create -f environment.yaml
Activate the newly created `{{project_short_name}}` environment:
mamba activate {{project_short_name}}
## 2. Run the analysis
snakemake -call
This will run all analysis steps to reproduce results and build the report.
To generate a PDF of the dependency graph of all steps `resources/dag.pdf` run:
snakemake -c1 dag
* Open Energy Transition (g)GmbH, Königsallee 52, 95448 Bayreuth, Germany
----
# PyPSA-Wal: A Sector-Coupled Open Optimisation Model of the Belgian Energy System with Emphasis on the Wallonia Region
The bus-mapping of the Belgian Energy System is comprised of a representative nodes from (or nearby) the three administrative regions: Flanders, Brussels, and Wallonia with borders as described in publically available shapefiles [here](https://simplemaps.com/gis/country/be).
----
# PyPSA-Eur: A Sector-Coupled Open Optimisation Model of the European Energy System
PyPSA-Eur is an open model dataset of the European energy system at the
transmission network level that covers the full ENTSO-E area. The model is suitable both for operational studies and generation and transmission expansion planning studies.
The continental scope and highly resolved spatial scale enables a proper description of the long-range
smoothing effects for renewable power generation and their varying resource availability.
The model is described in the [documentation](https://pypsa-eur.readthedocs.io)
and in the paper
[PyPSA-Eur: An Open Optimisation Model of the European Transmission
System](https://arxiv.org/abs/1806.01613), 2018,
[arXiv:1806.01613](https://arxiv.org/abs/1806.01613).
The model building routines are defined through a snakemake workflow.
Please see the [documentation](https://pypsa-eur.readthedocs.io/)
for installation instructions and other useful information about the snakemake workflow.
The model is designed to be imported into the open toolbox
[PyPSA](https://github.com/PyPSA/PyPSA).
**WARNING**: PyPSA-Eur is under active development and has several
[limitations](https://pypsa-eur.readthedocs.io/en/latest/limitations.html) which
you should understand before using the model. The github repository
[issues](https://github.com/PyPSA/pypsa-eur/issues) collect known topics we are
working on (please feel free to help or make suggestions). The
[documentation](https://pypsa-eur.readthedocs.io/) remains somewhat patchy. You
can find showcases of the model's capabilities in the Joule paper [The potential
role of a hydrogen network in
Europe](https://doi.org/10.1016/j.joule.2023.06.016), another [paper in Joule
with a description of the industry
sector](https://doi.org/10.1016/j.joule.2022.04.016), or in [a 2021 presentation
at EMP-E](https://nworbmot.org/energy/brown-empe.pdf). We do not recommend to
use the full resolution network model for simulations. At high granularity the
assignment of loads and generators to the nearest network node may not be a
correct assumption, depending on the topology of the underlying distribution
grid, and local grid bottlenecks may cause unrealistic load-shedding or
generator curtailment. We recommend to cluster the network to a couple of
hundred nodes to remove these local inconsistencies. See the discussion in
Section 3.4 "Model validation" of the paper.

The dataset consists of:
- A grid model based on a modified [GridKit](https://github.com/bdw/GridKit)
extraction of the [ENTSO-E Transmission System
Map](https://www.entsoe.eu/data/map/). The grid model contains 7072 lines
(alternating current lines at and above 220kV voltage level and all high
voltage direct current lines) and 3803 substations.
- The open power plant database
[powerplantmatching](https://github.com/PyPSA/powerplantmatching).
- Electrical demand time series from the
[OPSD project](https://open-power-system-data.org/).
- Renewable time series based on ERA5 and SARAH, assembled using the [atlite tool](https://github.com/PyPSA/atlite).
- Geographical potentials for wind and solar generators based on land use (CORINE) and excluding nature reserves (Natura2000) are computed with the [atlite library](https://github.com/PyPSA/atlite).
A sector-coupled extension adds demand
and supply for the following sectors: transport, space and water
heating, biomass, industry and industrial feedstocks, agriculture,
forestry and fishing. This completes the energy system and includes
all greenhouse gas emitters except waste management and land use.
This diagram gives an overview of the sectors and the links between
them:

Each of these sectors is built up on the transmission network nodes
from [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur):

For computational reasons the model is usually clustered down
to 50-200 nodes.
Already-built versions of the model can be found in the accompanying [Zenodo
repository](https://doi.org/10.5281/zenodo.3601881).
# Contributing and Support
We strongly welcome anyone interested in contributing to this project. If you have any ideas, suggestions or encounter problems, feel invited to file issues or make pull requests on GitHub.
- To **discuss** with other PyPSA users, organise projects, share news, and get in touch with the community you can use the [Discord server](https://discord.gg/AnuJBk23FU).
- For **bugs and feature requests**, please use the [PyPSA-Eur Github Issues page](https://github.com/PyPSA/pypsa-eur/issues).
# Licence
The code in PyPSA-Eur is released as free software under the
[MIT License](https://opensource.org/licenses/MIT), see [`doc/licenses.rst`](doc/licenses.rst).
However, different licenses and terms of use may apply to the various
input data, see [`doc/data_sources.rst`](doc/data_sources.rst).
Owner metadata
- Name: open-energy-transition
- Login: open-energy-transition
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/131007753?v=4
- Repositories: 1
- Last ynced at: 2023-05-03T12:28:56.288Z
- Profile URL: https://github.com/open-energy-transition
GitHub Events
Total
- Create event: 18
- Issues event: 11
- Release event: 1
- Watch event: 2
- Delete event: 16
- Issue comment event: 7
- Push event: 112
- Pull request review event: 31
- Pull request event: 11
- Pull request review comment event: 38
Last Year
- Create event: 18
- Issues event: 11
- Release event: 1
- Watch event: 2
- Delete event: 16
- Issue comment event: 7
- Push event: 112
- Pull request review event: 31
- Pull request event: 11
- Pull request review comment event: 38
Committers metadata
Last synced: about 13 hours ago
Total Commits: 4,413
Total Committers: 101
Avg Commits per committer: 43.693
Development Distribution Score (DDS): 0.701
Commits in past year: 295
Committers in past year: 44
Avg Commits per committer in past year: 6.705
Development Distribution Score (DDS) in past year: 0.878
| Name | Commits | |
|---|---|---|
| Fabian Neumann | f****n@o****e | 1319 |
| pre-commit-ci[bot] | 6****] | 451 |
| Fabian | f****f@g****e | 429 |
| lisazeyen | l****n@w****e | 358 |
| Jonas Hörsch | j****h@k****u | 238 |
| Tom Brown | t****m@n****g | 216 |
| martacki | m****i@k****u | 124 |
| martavp | m****z@g****m | 119 |
| Philipp Glaum | p****m@t****e | 95 |
| AmosSchledorn | a****n@i****m | 88 |
| Koen van Greevenbroek | k****k@u****o | 79 |
| virio-andreyana | 1****a | 77 |
| Lukas Trippe | l****p@p****e | 72 |
| Adam-Dvorak1 | 9****1 | 63 |
| euronion | 4****n | 53 |
| github-actions[bot] | 4****] | 38 |
| Parisra | 1****a | 37 |
| LukasFrankenQ | l****n@e****k | 35 |
| Thomas Gilon | t****n@o****g | 33 |
| Michael Lindner | m****r@p****e | 32 |
| Bobby Xiong | 3****g | 31 |
| millingermarkus | m****r@c****e | 27 |
| Thomas Gilon | t****i@c****m | 26 |
| Max Parzen | m****n@e****k | 26 |
| toniseibold | t****b@g****m | 21 |
| ekatef | e****a@g****m | 18 |
| chrstphtrs | c****s@t****e | 17 |
| cpschau | 1****u | 16 |
| Jeroen Peters | h****s@g****m | 15 |
| yerbol-akhmetov | y****3@g****m | 15 |
| and 71 more... | ||
Committer domains:
- openenergytransition.org: 4
- kit.edu: 3
- pm.me: 3
- tu-berlin.de: 2
- mpe.au.dk: 2
- ed.ac.uk: 2
- iai-esm003.iai.kit.edu: 2
- oth-regensburg.de: 1
- eng.au.dk: 1
- ieg.fraunhofer.de: 1
- climact.com: 1
- chalmers.se: 1
- posteo.de: 1
- uit.no: 1
- nworbmot.org: 1
- gmx.de: 1
- outlook.de: 1
- gmx.net: 1
- users.fias.science: 1
- inatech.uni-freiburg.de: 1
- pik-potsdam.de: 1
- boku.ac.at: 1
- tuhh.de: 1
- campus.tu-berlin.de: 1
- fe1.prime.net: 1
- witte.sh: 1
- git.com: 1
- d-fine.de: 1
- sms.ed.ac.uk: 1
- hotmail.de: 1
- kth.se: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 5
Total pull requests: 37
Average time to close issues: 7 minutes
Average time to close pull requests: 6 days
Total issue authors: 1
Total pull request authors: 4
Average comments per issue: 0.0
Average comments per pull request: 0.54
Merged pull request: 15
Bot issues: 0
Bot pull requests: 0
Past year issues: 5
Past year pull requests: 37
Past year average time to close issues: 7 minutes
Past year average time to close pull requests: 6 days
Past year issue authors: 1
Past year pull request authors: 4
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.54
Past year merged pull request: 15
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- measrainsey (5)
Top Pull Request Authors
- measrainsey (17)
- martacki (9)
- apigott (7)
- UmairTareen (4)
Top Issue Labels
Top Pull Request Labels
- wontfix (1)
Score: 6.917705609835306