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
- Host: GitHub
- URL: https://github.com/powergama/powergama
- Owner: powergama
- License: mit
- Created: 2023-03-03T08:09:34.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-10-26T10:04:57.000Z (18 days ago)
- Last Synced: 2026-11-12T11:30:30.942Z (about 24 hours ago)
- Language: Jupyter Notebook
- Homepage:
- Size: 15 MB
- Stars: 12
- Watchers: 0
- Forks: 6
- Open Issues: 3
- Releases: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- Claude: CLAUDE.md
README.md
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
-
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:
- Poetry
- Pre-commit
- An LP solver, e.g. the free CBC solver.
Clone or download the code and install it as a python package. The tests rely on the GLPK solver.
Install
git clone git@github.com:powergama/powergama.gitcd powergamapoetry installpoetry shellpoetry run pytest tests
GitHub Actions Pipelines
These pipelines are defined:
- Build: Building and testing on multiple OS and python versions. Triggered on any push to GitHub.
- Release: Create a release. Triggered when a version tag v* is created.
- 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
- Name: powergama
- Login: powergama
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/114164286?v=4
- Repositories: 2
- Last ynced at: 2026-11-08T09:32:01.862Z
- Profile URL: https://github.com/powergama
GitHub Events
Total
- Create event: 10
- Delete event: 17
- Issues event: 7
- Pull request event: 10
- Pull request review event: 1
- Push event: 28
- Release event: 5
- Watch event: 3
Last Year
- Create event: 1
- Issues event: 2
- Push event: 4
- Release event: 1
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 | 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:
- sintef.no: 3
- pc-ux32agmail.com: 1
- ntnu.no: 1
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
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
- Total packages: 1
-
Total downloads:
- pypi: 225 last-month
- Total dependent packages: 0
- Total dependent repositories: 2
- Total versions: 19
- Total maintainers: 1
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
- 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
- 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
- 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
- datetime *
- folium *
- matplotlib *
- networkx *
- numpy *
- numpydoc *
- pandas *
- pyomo *
- scipy *
- sklearn *
- 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
- 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