/ESA

Easy SimAuto (ESA): An easy-to-use Power System Analysis Automation Environment atop PowerWorld Simulator Automation Server (SimAuto)

Primary LanguagePythonApache License 2.0Apache-2.0

Easy SimAuto (ESA)

https://img.shields.io/discord/1114563747651006524 https://pepy.tech/badge/esa/month https://img.shields.io/badge/coverage-100%25-brightgreen

Easy SimAuto (ESA) is an easy-to-use Power System Analysis Automation Platform atop PowerWorld's Simulator Automation Server (SimAuto). ESA wraps all PowerWorld SimAuto functions, supports Auxiliary scripts, provides helper functions to further simplify working with SimAuto and also turbocharges with native implementation of SOTA algorithms. Wherever possible, data is returned as Pandas DataFrames, making analysis a breeze. ESA is well tested and fully documented.

For quick-start directions, installation instructions, API reference, examples, and more, please check out ESA's documentation.

If you have your own copy of the ESA repository, you can also view the documentation locally by navigating to the directory docs/html and opening index.html with your web browser.

If you want to use ESA or SimAuto from julia, definitely check EasySimauto.jl for a julia wrapper of ESA.

Citation

If you use ESA in any of your work, please use the citation below.

@article{ESA,
  doi = {10.21105/joss.02289},
  url = {https://doi.org/10.21105/joss.02289},
  year = {2020},
  publisher = {The Open Journal},
  volume = {5},
  number = {50},
  pages = {2289},
  author = {Brandon L. Thayer and Zeyu Mao and Yijing Liu and Katherine Davis and Thomas J. Overbye},
  title = {Easy SimAuto (ESA): A Python Package that Simplifies Interacting with PowerWorld Simulator},
  journal = {Journal of Open Source Software}
}

Installation

Please refer to ESA's documentation for full, detailed installation directions. In many cases, ESA can simply be installed by:

python -m pip install esa

Simulator Compatibility

Currently ESA supports PW Simulator V17, V18, V19, V20, V21, V22 and V23.

Testing Coverage

The ESA team works hard to ensure ESA is well tested, and we strive for 100% testing coverage (sometimes we cannot due to lack of specific add-ons). The table below shows the most up-to-date testing coverage data for ESA, using coverage.

ESA's testing coverage as of 2023-05-31 (Git commit: 7180cc9)
Name Num. Statements Missing Lines Covered Lines Percent Coverage
esa/__init__.py 2 0 2 100
esa/saw.py 1206 2 1204 99.8342

License

Apache License 2.0

Contributing

We welcome contributions! Please read contributing.md.