Yet Another Grid Analysis Tool
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
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.
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.
- 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 today lacks many features, but you may already find it useful. What is planned for the future is:
- 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
- Security Analysis:
- Configure a list of contingencies to simulate
- Run contingency analysis
- View contingency violations
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.
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.
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.