Skip to content

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

License

Notifications You must be signed in to change notification settings

Zynecut/powergama

 
 

Repository files navigation

GitHub license Python Code style pre-commit build GitHub version

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 [email protected]: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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 90.1%
  • Python 8.1%
  • TeX 1.8%