Skip to content

jeandemanged/yagat

Repository files navigation

YAGAT

Yet Another Grid Analysis Tool

Actions Status Quality Gate Status

Release

Overview

YAGAT provides a graphical user interface built on top of the PowSyBl open source grid analysis libraries.

With YAGAT no computer science skill is required: just download the application and run it.

Today with YAGAT you can:

  • Load grid models from the various formats supported by PowSyBl:
    • CIM/CGMES
    • UCTE-DEF
    • IEEE-CDF
    • MATPOWER
    • Siemens PSS®E
  • Display and navigate the grid model with electrical buses represented in tabular form
  • Run a Load Flow, visualize solved bus voltages and branch flows

Installation

Binary releases

Binary releases are provided for Windows, Linux and macOS on the releases page.
No additional software is required for installation.
Download and extract the zip archive for your platform, then run YAGAT.

Building from source

With Python 3.12 and e.g. using a Virtual Environment and pip.

# clone the git repository
git clone https://github.com/jeandemanged/yagat.git
cd yagat
# install requirements
python -m venv venv
. venv/bin/activate
pip install -r requirements.txt
# build the application
pyinstaller -y yagat.spec

YAGAT is then available for your platform in the dist directory.

Quick Start

  • Open a sample network: Go to File | Open Sample network | IEEE 9 Bus to load a sample grid model.
  • Navigate the grid: Use the tree view on the left to browse through the network model and its elements.
  • Run the Load Flow: Select Run | Load Flow to execute the analysis.
    • Once completed, view the solved bus voltages and branch flows for insights into the grid's state.

yagat quickstart

Roadmap

YAGAT today lacks many features, but you may already find it useful. What is planned for the future is:

Short-Term to Mid-Term Plans:

  • General: A log view
  • Grid Model Navigation: Tabular views per equipment type
  • Grid Model Updates: Adjust grid configurations, such as opening/closing switches, changing generator set points, etc.
  • Load Flow:
    • Add ability to save/load the Load Flow parameters
    • View Load Flow reports in order to troubleshoot e.g. non-convergence

Future Plans:

  • Security Analysis:
    • Configure a list of contingencies to simulate
    • Run contingency analysis
    • View contingency violations

Under the Hood

YAGAT is:

  • Written in Python: a high-level, general-purpose programming language.
  • Using PyPowSyBl: Provides the core grid analysis functionalities.
  • Using Tkinter: Supplies the graphical user interface.
  • Using Tksheet: An amazing tkinter table widget.
  • Using PyInstaller: Packages the application.

Data Confidentiality

We take data confidentiality seriously. All data processed by the application remains on the user's local machine and is not transmitted to any external servers. This ensures complete data privacy for users working with sensitive grid models.

Contributing and Support

Should you encounter any issues with YAGAT, please let us know.
We welcome contributions, ideas, and feedback. Please open an issue or pull request to get involved.