PowerGAMA

A lightweight simulation tool for high level analyses of renewable energy integration in large power systems.
https://github.com/powergama/powergama

Category: Energy Systems
Sub Category: Renewable Energy Integration

Last synced: about 24 hours ago
JSON representation

Repository metadata

Python package for simulation power flows and generation dispatch in future power systems

README.md

GitHub license
Python
Ruff
pre-commit
build
GitHub version
PyPI version
codecov

PowerGAMA - Power Grid And Market Analysis

Introduction

PowerGAMA is an open-source Python package for power system grid and market analyses.

Since some generators may have an energy storage (hydro power with reservoir and concentrated solar power with thermal storage) the optimal solution in one timestep depends on the previous timestep, and the problem should therefore be solved sequentially. A realistic utilisation of energy storage is ensured through the use of storage values.

PowerGAMA does not include any power market subtleties (such as start-up costs, limited ramp rates, forecast errors, unit commitments) and as such will tend to overestimate the ability to accommodate large amounts of variable renewable energy. Essentially it assumes a perfect market based on nodal pricing without barriers between different countries. This is naturally a gross oversimplification of the real power system, but gives nonetheless very useful information to guide the planning of grid developments and to assess broadly the impacts of new generation and new interconnections.

Documentation

  • Online user guide

  • HG Svendsen and OC Spro, PowerGAMA: A new simplified modelling approach for analyses of large interconnected power systems, applied to a 2030 Western Mediterranean case study, J. Renewable and Sustainable Energy 8 (2016), doi.org/10.1063/1.4962415

Install use-only version

Install latest PowerGAMA release from PyPi:

pip install powergama

Install development version

Prerequisite:

Install

  1. git clone git@github.com:powergama/powergama.git
  2. cd powergama
  3. poetry install
  4. poetry shell
  5. poetry run pytest tests

GitHub Actions Pipelines

These pipelines are defined:

  1. Build: Building and testing on multiple OS and python versions. Triggered on any push to GitHub.
  2. Release: Create a release. Triggered when a version tag v* is created.
  3. Publish: Publish to PyPI. Triggered when a release is published

Contribute to the code

You are welcome to contribute to the improvement of the code.

  • Use Issues to describe and track needed improvements and bug fixes
  • Use branches for development and pull requests to merge into main
  • Use Pre-commit hooks

Contact

Harald G Svendsen
SINTEF Energy Research

Project-Specific Workflow Note (This Workspace)

If you are running the WILLOW T45 scenario workflows from this repository workspace, use the T45 runbooks instead of generic package commands:

  • ../willow/T45/README.md
  • ../willow/T45/workflow/README.md

These documents provide copy-paste commands for the maintained scenario (2023_I_A_A), environment setup (willow-py311), and weekly storage-value sensitivity runs.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 2 days ago

Total Commits: 334
Total Committers: 9
Avg Commits per committer: 37.111
Development Distribution Score (DDS): 0.266

Commits in past year: 16
Committers in past year: 2
Avg Commits per committer in past year: 8.0
Development Distribution Score (DDS) in past year: 0.125

Name Email Commits
Harald G Svendsen h****n@s****o 245
Martin K m****n@n****o 35
Harald G Svendsen h****n@g****m 27
Ole Spro O****o@s****o 10
Til Kristian Vrana v****a@s****o 7
Sigrid Passano Hellan s****n@g****m 4
P. C. See p****e@g****m 3
Valentin Chabaud 4****b 2
PC pc@p****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 20
Total pull requests: 38
Average time to close issues: 4 months
Average time to close pull requests: 24 days
Total issue authors: 1
Total pull request authors: 3
Average comments per issue: 0.35
Average comments per pull request: 0.39
Merged pull request: 32
Bot issues: 0
Bot pull requests: 0

Past year issues: 13
Past year pull requests: 12
Past year average time to close issues: 14 days
Past year average time to close pull requests: 21 days
Past year issue authors: 1
Past year pull request authors: 1
Past year average comments per issue: 0.46
Past year average comments per pull request: 1.0
Past year merged pull request: 12
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/powergama/powergama

Top Issue Authors

  • HaraldGSvendsen (20)

Top Pull Request Authors

  • HaraldGSvendsen (28)
  • sighellan (8)
  • Einarby (2)

Top Issue Labels

  • enhancement (2)
  • documentation (1)
  • bug (1)

Top Pull Request Labels

  • bug (1)

Package metadata

pypi.org: powergama

PowerGAMA - Power Grid And Market Analysis tool

  • Homepage: https://github.com/powergama/powergama
  • Documentation: https://powergama.readthedocs.io/
  • Licenses: MIT
  • Latest release: 1.5.2 (published about 2 months ago)
  • Last Synced: 2026-11-11T11:00:27.728Z (2 days ago)
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 225 Last month
  • Rankings:
    • Dependent packages count: 10.109%
    • Dependent repos count: 11.532%
    • Stargazers count: 25.071%
    • Forks count: 29.802%
    • Average: 31.595%
    • Downloads: 81.46%
  • Maintainers (1)

Dependencies

.github/workflows/build.yml actions
  • actions/cache v2.1.6 composite
  • actions/checkout v3.0.2 composite
  • actions/setup-python v4.1.0 composite
  • snok/install-poetry v1.2.1 composite
.github/workflows/publish.yml actions
  • actions/cache v3.0.11 composite
  • actions/checkout v2.5.0 composite
  • actions/setup-python v4.3.0 composite
  • snok/install-poetry v1.3.3 composite
.github/workflows/release.yml actions
  • actions/cache v3.0.11 composite
  • actions/checkout v3.0.2 composite
  • actions/setup-python v4.3.0 composite
  • snok/install-poetry v1.3.3 composite
  • softprops/action-gh-release v1 composite
doc/requirements.txt pypi
  • datetime *
  • folium *
  • matplotlib *
  • networkx *
  • numpy *
  • numpydoc *
  • pandas *
  • pyomo *
  • scipy *
  • sklearn *
pyproject.toml pypi
  • bandit ^1.7.4 develop
  • black 22.08.0 develop
  • flake8 ^5.0.4 develop
  • mypy >=0.96 develop
  • nbmake ^1 develop
  • pre-commit ^2.20.0 develop
  • pylint ^2 develop
  • pytest ^7 develop
  • setuptools ^65.6.3 develop
  • branca ^0.5
  • cloudpickle ^2.2.0
  • folium ^0.12
  • geopandas ^0.12.1
  • gurobipy ^10.0.1
  • ipywidgets ^8
  • jinja2 ^3.1
  • jupyterlab ^3.4.7
  • matplotlib ^3.6.0
  • networkx ^3.0
  • numpy ^1.23.0
  • openpyxl ^3.0.10
  • pandas ^1.5.0
  • plotly ^5.10.0
  • pydantic ^1.10.0
  • pyomo ^6.4.2
  • python >=3.9,<3.12
  • ruamel.yaml ^0.17.21
  • scikit-learn ^1.1.2
  • scipy ^1.9.1
  • seaborn ^0.12.0
poetry.lock pypi
  • appnope 0.1.4 develop
  • asttokens 3.0.0 develop
  • attrs 25.4.0 develop
  • bandit 1.8.6 develop
  • cffi 2.0.0 develop
  • cfgv 3.4.0 develop
  • colorama 0.4.6 develop
  • comm 0.2.3 develop
  • coverage 7.11.0 develop
  • debugpy 1.8.17 develop
  • decorator 5.2.1 develop
  • distlib 0.4.0 develop
  • executing 2.2.1 develop
  • fastjsonschema 2.21.2 develop
  • filelock 3.20.0 develop
  • identify 2.6.15 develop
  • iniconfig 2.3.0 develop
  • ipykernel 7.1.0 develop
  • ipython 9.6.0 develop
  • ipython-pygments-lexers 1.1.1 develop
  • jedi 0.19.2 develop
  • jsonschema 4.25.1 develop
  • jsonschema-specifications 2025.9.1 develop
  • jupyter-client 8.6.3 develop
  • jupyter-core 5.9.1 develop
  • markdown-it-py 4.0.0 develop
  • matplotlib-inline 0.2.1 develop
  • mdurl 0.1.2 develop
  • mypy 1.18.2 develop
  • mypy-extensions 1.1.0 develop
  • nbclient 0.10.2 develop
  • nbformat 5.10.4 develop
  • nbmake 1.5.5 develop
  • nest-asyncio 1.6.0 develop
  • nodeenv 1.9.1 develop
  • packaging 25.0 develop
  • parso 0.8.5 develop
  • pathspec 0.12.1 develop
  • pexpect 4.9.0 develop
  • platformdirs 4.5.0 develop
  • pluggy 1.6.0 develop
  • pre-commit 4.3.0 develop
  • prompt-toolkit 3.0.52 develop
  • psutil 7.1.2 develop
  • ptyprocess 0.7.0 develop
  • pure-eval 0.2.3 develop
  • pycparser 2.23 develop
  • pygments 2.19.2 develop
  • pytest 8.4.2 develop
  • python-dateutil 2.9.0.post0 develop
  • pyyaml 6.0.3 develop
  • pyzmq 27.1.0 develop
  • referencing 0.37.0 develop
  • rich 14.2.0 develop
  • rpds-py 0.28.0 develop
  • ruff 0.14.2 develop
  • six 1.17.0 develop
  • stack-data 0.6.3 develop
  • stevedore 5.5.0 develop
  • tornado 6.5.2 develop
  • traitlets 5.14.3 develop
  • typing-extensions 4.15.0 develop
  • virtualenv 20.35.4 develop
  • wcwidth 0.2.14 develop
  • branca 0.8.2
  • certifi 2025.10.5
  • charset-normalizer 3.4.4
  • cloudpickle 3.1.1
  • colorama 0.4.6
  • contourpy 1.3.3
  • cycler 0.12.1
  • folium 0.20.0
  • fonttools 4.60.1
  • geopandas 1.1.1
  • highspy 1.12.0
  • idna 3.11
  • jinja2 3.1.6
  • kiwisolver 1.4.9
  • markupsafe 3.0.3
  • matplotlib 3.10.7
  • networkx 3.5
  • numpy 2.3.4
  • packaging 25.0
  • pandas 2.3.3
  • pillow 12.0.0
  • ply 3.11
  • pyogrio 0.13.0
  • pyomo 6.9.5
  • pyparsing 3.2.5
  • pyproj 3.7.2
  • python-dateutil 2.9.0.post0
  • pytz 2025.2
  • requests 2.32.5
  • scipy 1.16.3
  • shapely 2.1.2
  • six 1.17.0
  • tqdm 4.67.1
  • tzdata 2025.2
  • urllib3 2.5.0
  • xyzservices 2025.4.0

Score: 10.33462040739287