PyPSA-AT
High resolution, sector-coupled model of the Austrian Energy System.
https://github.com/aggm-ag/pypsa-at
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: about 4 hours ago
JSON representation
Repository metadata
PyPSA-AT: High resolution, sector-coupled model of the Austrian Energy System
- Host: GitHub
- URL: https://github.com/aggm-ag/pypsa-at
- Owner: AGGM-AG
- License: mit
- Created: 2025-07-30T10:30:20.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2026-04-03T12:40:13.000Z (4 days ago)
- Last Synced: 2026-04-03T12:57:59.252Z (4 days ago)
- Language: Python
- Homepage: https://pypsa-at.readthedocs.io
- Size: 125 MB
- Stars: 10
- Watchers: 2
- Forks: 1
- Open Issues: 3
- Releases: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.AT.md
- License: LICENSE.txt
- Citation: CITATION.cff
README.md
PyPSA-AT: A Sector-Coupled Open Optimisation Model of the Austrian Energy System
[!WARNING]
PyPSA-AT is under very active early development. Expect things to change rapidly.
PyPSA-AT is an Austrian adaptation of the open European energy system
model PyPSA-Eur.
It provides a detailed sector-coupled model of the Austrian energy system, including the majority of relevant energy
carriers (electricity, gas, hydrogen, biomass, heat, coal, oil, methanol and ammonia) and demand profiles for the
industry, transport, residential, commercial, and agriculture sectors.
The project builds upon the methodologies developed in PyPSA-DE - the adaptation of
PyPSA-Eur for the German energy system - while incorporating Austria-specific network topology, energy system
characteristics, and regulatory frameworks.
For more comprehensive documentation on the underlying PyPSA-Eur/DE framework, model decisions, and implementation
details, please refer to the PyPSA-Eur documentation
and PyPSA-DE documentation, respectively.
🟥⬜🟥 Deutschsprachige Beschreibung:
PyPSA-AT ist eine österreichische Adaption des europäischen
Energiesystemmodells PyPSA-Eur.
Es liefert ein detailliertes, sektorgekoppeltes Modell des österreichischen Energiesystems und inkludiert den Großteil
der wichtigsten Energieträger (Elektrizität, Gas, Wasserstoff, Biomasse, Wärme, Kohle, Öl, Methanol und Ammoniak) sowie
Lastprofile für die Bedarfe von Industrie, Transport, Haushalten, Gewerbe und Landwirtschaft.
Das Projekt baut auf den methodischen Ansätzen auf, die in PyPSA-DE - der Adaption
von PyPSA-Eur für das Energiesystem Deutschlands - entwickelt wurden. Gleichzeitig enthält PyPSA-AT
österreichischspezifische Netzwerktopologien mit höherer räumlicher Auflösung innerhalb der Landesgrenzen,
Energiesystemcharakteristika und den regulatorischen Rahmen des Landes.
Für eine umfassendere Beschreibung der zugrundeliegenden Modelle sei hier auf die entsprechenden Dokumentationen
von PyPSA-Eur und PyPSA-DE
verwiesen.
✨ Features
PyPSA-AT extends the PyPSA-Eur model with Austria-specific enhancements.
While some features have already been implemented (✅), some are being actively worked on (🔨) or discussed (💡) and many
more are planned in the future (📌).
An overview of our planned and active features can be found in the following table.
For more detailed implementation information, see
the mods module documentation.
| TOPIC | FEATURE | DESCRIPTION | PR | STATUS |
|---|---|---|---|---|
| Modeling | High spatial and temporal resolution in AT | Maintain NUTS2 and NUTS3 spatial resolution using administrative clustering in AT and at 1H and 3H temporal resolution in the myopic workflow. | #53 | ✅ |
| Methane Pyrolysis (Plasma) — turquoise hydrogen | Add methane pyrolysis (plasma variant) as a configurable H₂ production pathway. CH₄ is split into H₂ and solid carbon black; no CO₂ is emitted. Cost data from DEA sheet 104 (2024). | #73 | 🔨 | |
| Improve Hydropower technologies | Differentiate Open- and Closed Loop PHS, reservoirs with and without inflows and improve inflow time series for Austrian hydro power plants. | - | 📌 | |
| Model coupling | Improve biomass sector accuracy by coupling PyPSA-AT with a dedicated carbon cycle model. | - | 📌 | |
| Endogenous industry demands | Replace the exogenous energy modal split per industry sub-sector with optimized production paths. | - | 📌 | |
| Austrian climate goals | Introduce regional CO2 budgets to comply with Austria's climate goals (CO2 neutral by 2040) | - | ✅ | |
| Depict Austrian policies | Include EAG targets for net renewable electricity production by 2030 and other regulatory requirements in the baseline scenario. | - | 🔨 | |
| Calibration | Enhanced energy demand profiles for all sectors and Austrian NUTS3 regions | Update demand curves for industry, transport, domestic, commercial and agriculture sectors with NUTS3 resolution in AT. | - | 📌 |
| Calibrate renewable energy production capacity potentials in AT | Limit RES deployment in accordance with Studie Erneuerbaren Energiepotenziale | - | 📌 | |
| Restrict technology occurrences | Review technology occurrences such as V2G, SynGas, Pyrolysis, etc. and restrict their first appearance years. | - | 📌 | |
| Calibrate Heat sector | Review and calibrate heat sector including existing capacities per heat system, demand profiles, and endogenous building thermal retrofitting. | - | 📌 | |
| Validation | Compare model results with Eurostat Energy Balance | Compare PyPSA-AT baseline scenario results with historical energy demands reported in the Eurostat Energy Balance to validate model results. | - | 🔨 |
| Input Data | Remove import of methane via Ukrainian border points | Stop the possibility to import methane from outside the EU into countries bordering Ukraine, where no gas is imported in reality. | - | ✅ |
| Improved brownfield data for gas and hydrogen infrastructure provided by AGGM | Include accurate data on the Austrian methane and hydrogen grids, storage infrastructure, trade volumes and retrofit potentials and costs. | - | 🔨 | |
| Austrian biomass potentials | Include Austrian wet and solid biomass potentials as reported by UBA and BeST, respectively. | - | 📌 | |
| Electricity grid brownfield update | Update 380 kV network topology and improve resolution of electricity transmission grid for Austrian regions. | - | 📌 |
⌨️ Installation
Please note that PyPSA-AT is only supported on Linux platforms. Installations on Windows or macOS require
modifications currently not supported.
-
Clone the repository:
git clone https://github.com/AGGM-AG/pypsa-at.git cd pypsa-at -
Installation using pixi (optional):
Explicit package installation may be skipped since running commands with
pixi runinstalls and activates all
dependencies inpixi.toml.pixi install
🚀 Usage
-
Configure your model by adjusting the base scenario in
config/config.at.yaml -
Include scenario settings that differ from the base scenario in
config/scenarios.manual.yaml -
Run the model using the default rule
all:pixi run snakemake all --cores 'all'or activate the virtual environment and call the same workflow using a shorthand
pixi shell && snakemake -call all
📖 Documentation
More detailed documentation of PyPSA-AT is hosted on pypsa-at.readthedocs.io.
🤝 Contributing
[!NOTE]
The development team focuses on establishing a well-calibrated representation of the Austrian energy system and
has limited capacity to review contributions from the community at the moment.
In general, please install the pre-commit hooks if you plan to contribute to this project.
pixi run pre-commit install
🗄️ Data sources
Scenario data: Ariadne
ariadne-data/ariadne-database.csv
- Source: Kopernikus Projekt Ariadne
- Link: Ariadne Scenario Explorer
- License: CC-BY 4.0
- Description: Results from
the Ariadne Report: Die Energiewende kosteneffizient gestalten
Data on Ukrainian gas transit: AGGM AG
data/pypsa-at/ukrainian_gas_transit_stop.json
- Source: experts of AGGM (Austrian Gas Grid Management) AG
- Format: geojson dataset of affected
network.generators.loc[f"{country_code} gas pipeline import"] - Description: input of European gas network experts at AGGM on which cross-border transit points between the EU and Ukraine are closed down.
Data on Austrian gas network capacities: AGGM AG
data/pypsa-at/AGGM_gas_network_base_AT10.csv and
data/pypsa-at/AGGM_gas_network_base_AT35.csv
- Source: experts of AGGM (Austrian Gas Grid Management) AG
- Format: table of gas transport corridors in Austria and their properties
- Description: input of experts on the Austrian gas network, clustered for AT-10 (~ NUTS2) and AT-35 (NUTS3). The data contains information on transport corridors - not exact gas pipeline locations - and their properties
The properties improved with expert input are:
p_nom: nominal capacitymax_pressure_bar: maximum pressurebuild_year: year of construction
⚖️ License
This project is licensed under the MIT License - see the LICENSE.txt file for details.
Parts of the code that originate from PyPSA-DE
or PyPSA-Eur remain under their original MIT licenses. The copyright and
attribution notices from these original projects are preserved in the respective source files.
🏅 Acknowledgments
PyPSA-AT builds upon PyPSA-Eur and PyPSA-DE,
developed by the PyPSA team at TU Berlin and other contributors.
✏️ Citation
If you use PyPSA-AT in your research, please cite it as:
Worschischek, Philip; Zechner, Nicole; Awetisjan, Vartan; Wernhart, Helmut (2026):
PyPSA-AT - A sector-coupled open optimisation model of the Austrian energy system.
Version 0.1.0. Austrian Gas Grid Management AG.
https://github.com/AGGM-AG/pypsa-at
Or in the German version:
Worschischek, Philip; Zechner, Nicole; Awetisjan, Vartan; Wernhart, Helmut (2026):
PyPSA-AT - Sektorgekoppeltes Energiesystemmodell des österreichischen Energiesystems.
Version 0.1.0. Austrian Gas Grid Management AG.
https://github.com/AGGM-AG/pypsa-at
Citation (CITATION.cff)
# SPDX-FileCopyrightText: Contributors to PyPSA-DE <https://github.com/pypsa/pypsa-de>
#
# SPDX-License-Identifier: CC0-1.0
cff-version: 1.2.0
title: "PyPSA-AT - Sektorgekoppeltes Energiesystemmodell des österreichischen Energiesystems"
repository: https://github.com/AGGM-AG/pypsa-at
version: 0.1.0-alpha
date-released: "none"
license: MIT
authors:
- family-names: Worschischek
given-names: Philip
organisation: Austrian Gas Grid Management AG
- family-names: Avetisjan
given-names: Vartan
organisation: Austrian Gas Grid Management AG
- family-names: Wernhart
given-names: Helmut
organisation: Austrian Gas Grid Management AG
- family-names: Zechner
given-names: Nicole
organisation: Austrian Gas Grid Management AG
- family-names: Nutz
given-names: Max
organisation: University of Life Sciences Vienna BOKU
Owner metadata
- Name: AGGM-AG
- Login: AGGM-AG
- Email:
- Kind: organization
- Description:
- Website:
- Location: Austria
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/223642159?v=4
- Repositories: 1
- Last ynced at: 2025-07-30T13:56:53.357Z
- Profile URL: https://github.com/AGGM-AG
GitHub Events
Total
- Delete event: 28
- Member event: 1
- Pull request event: 38
- Fork event: 1
- Watch event: 2
- Issue comment event: 18
- Push event: 229
- Pull request review event: 17
- Pull request review comment event: 33
- Create event: 35
Last Year
- Delete event: 28
- Member event: 1
- Pull request event: 38
- Fork event: 1
- Watch event: 2
- Issue comment event: 18
- Push event: 229
- Pull request review event: 17
- Pull request review comment event: 33
- Create event: 35
Committers metadata
Last synced: 6 days ago
Total Commits: 6,354
Total Committers: 106
Avg Commits per committer: 59.943
Development Distribution Score (DDS): 0.78
Commits in past year: 1,046
Committers in past year: 48
Avg Commits per committer in past year: 21.792
Development Distribution Score (DDS) in past year: 0.442
| Name | Commits | |
|---|---|---|
| Fabian Neumann | f****n@o****e | 1398 |
| Philip Worschischek | p****k@a****t | 686 |
| Michael Lindner | m****r@p****e | 585 |
| pre-commit-ci[bot] | 6****] | 490 |
| Fabian | f****f@g****e | 436 |
| lisazeyen | l****n@w****e | 364 |
| Tom Brown | t****m@n****g | 295 |
| Jonas Hörsch | j****h@k****u | 247 |
| toniseibold | t****b@g****m | 184 |
| Lukas Trippe | l****p@p****e | 129 |
| martavp | m****z@g****m | 119 |
| martacki | m****i@k****u | 116 |
| Philipp Glaum | p****m@t****e | 112 |
| JulianGeis | J****s@g****t | 105 |
| AmosSchledorn | a****n@i****m | 91 |
| Koen van Greevenbroek | k****k@u****o | 80 |
| virio-andreyana | 1****a | 78 |
| github-actions[bot] | 4****] | 72 |
| Adam-Dvorak1 | 9****1 | 63 |
| euronion | 4****n | 63 |
| Bobby Xiong | 3****g | 47 |
| Parisra | 1****a | 38 |
| LukasFrankenQ | l****n@e****k | 36 |
| Johannes Misensky | j****y@a****t | 34 |
| Thomas Gilon | t****n@o****g | 30 |
| cpschau | 1****u | 28 |
| cpschau | c****s@i****e | 28 |
| dependabot[bot] | 4****] | 27 |
| millingermarkus | m****r@c****e | 27 |
| Max Parzen | m****n@e****k | 26 |
| and 76 more... | ||
Committer domains:
- openenergytransition.org: 5
- aggm.at: 3
- kit.edu: 3
- tu-berlin.de: 3
- mpe.au.dk: 2
- pm.me: 2
- ed.ac.uk: 2
- iai-esm003.iai.kit.edu: 2
- eng.au.dk: 1
- climact.com: 1
- chalmers.se: 1
- ieg.fraunhofer.de: 1
- uit.no: 1
- gmx.net: 1
- nworbmot.org: 1
- gmx.de: 1
- posteo.de: 1
- outlook.de: 1
- oth-regensburg.de: 1
- users.fias.science: 1
- inatech.uni-freiburg.de: 1
- boku.ac.at: 1
- tuhh.de: 1
- pik-potsdam.de: 1
- campus.tu-berlin.de: 1
- fe1.prime.net: 1
- student.kit.edu: 1
- witte.sh: 1
- git.com: 1
- d-fine.de: 1
- sms.ed.ac.uk: 1
- fico.com: 1
- kth.se: 1
- hotmail.de: 1
Issue and Pull Request metadata
Last synced: 6 days ago
Total issues: 0
Total pull requests: 29
Average time to close issues: N/A
Average time to close pull requests: 1 day
Total issue authors: 0
Total pull request authors: 3
Average comments per issue: 0
Average comments per pull request: 0.79
Merged pull request: 22
Bot issues: 0
Bot pull requests: 9
Past year issues: 0
Past year pull requests: 29
Past year average time to close issues: N/A
Past year average time to close pull requests: 1 day
Past year issue authors: 0
Past year pull request authors: 3
Past year average comments per issue: 0
Past year average comments per pull request: 0.79
Past year merged pull request: 22
Past year bot issues: 0
Past year bot pull requests: 9
Top Issue Authors
Top Pull Request Authors
- pworschischek-aggmag (19)
- github-actions[bot] (9)
- nicolezechneraggm (1)
Top Issue Labels
Top Pull Request Labels
Dependencies
- actions/cache v5 composite
- actions/checkout v6 composite
- actions/upload-artifact v6 composite
- dorny/paths-filter v3 composite
- prefix-dev/setup-pixi v0.9.3 composite
- PyPSA/pypsa-validator v0.2.5 composite
- ghcr.io/prefix-dev/pixi latest build
- actions/checkout v6 composite
- docker/login-action v3 composite
- atlite >=0.3
- bokeh >=3.8.0
- cartopy >=0.25.0
- copernicusmarine >=2.2.4
- country_converter >=1.3.2
- dask >=2025.10.0
- descartes >=1.1.0
- entsoe-py >=0.7.8
- fiona >=1.10.1
- folium >=0.20.0
- geojson >=3.2.0
- geopandas >=1
- geopy >=2.4.1
- glpk >=5.0
- graphviz >=12.2.1
- gurobi >=12.0.3
- highspy >=1.12.0
- ipython >=9.7.0
- jpype1
- jpype1 >=1.6.0
- jupyter >=1.1.1
- libgdal-netcdf >=3.10.3
- linopy >=0.4.4
- lxml >=6.0.2
- matplotlib >=3.10.7
- memory_profiler >=0.61.0
- netcdf4 >=1.7.2
- networkx >=3.5
- numpy >=1.26.4
- openpyxl >=3.1.5
- pandas >=2.1
- plotly >=6.4.0
- powerplantmatching >=0.5.15
- pre-commit >=4.3.0
- proj >=9.6.2
- pyam >=2.0
- pycountry
- pydeck >0.6
- pylint >=4.0.2
- pypsa >=0.35.2
- pyscipopt >=5.6.0
- pytables >=3.10.2
- python >=3.10
- pytz >=2025.2
- pyxlsb >=1.0.10
- rasterio >=1.4.3
- rioxarray >=0.20.0
- ruamel.yaml
- ruff >=0.14.3
- scipy >=1.16.3
- seaborn >=0.13.2
- shapely >=2.0
- snakemake-executor-plugin-cluster-generic >=1.0.9
- snakemake-executor-plugin-slurm >=1.9.2
- snakemake-minimal >=9
- snakemake-storage-plugin-cached-http >=0.1.0
- snakemake-storage-plugin-http >=0.3
- tenacity >=9.1.2
- tqdm >=4.67.1
- tsam >=2.3.1
- xarray >=2024.3.0,<2025.7.0
- xlrd >=2.0.2
- yaml >=0.2.5
- actions/checkout v6 composite
- github/codeql-action/analyze v4 composite
- github/codeql-action/init v4 composite
- actions/checkout v6 composite
- actions/create-github-app-token v2 composite
- prefix-dev/setup-pixi v0.9.3 composite
- stefanzweifel/git-auto-commit-action v7 composite
- actions/checkout v6 composite
- actions/download-artifact v7 composite
- actions/upload-artifact v6 composite
- peter-evans/create-pull-request v8 composite
- prefix-dev/setup-pixi v0.9.3 composite
Score: 7.228388451573604