Skip to content

Migrate to the PowerIO parser backend for broad non-MATPOWER format support#50

Open
samtalki wants to merge 1 commit into
MadNLP:mainfrom
samtalki:agent/powerio-parser-backend
Open

Migrate to the PowerIO parser backend for broad non-MATPOWER format support#50
samtalki wants to merge 1 commit into
MadNLP:mainfrom
samtalki:agent/powerio-parser-backend

Conversation

@samtalki

@samtalki samtalki commented Jun 25, 2026

Copy link
Copy Markdown

This PR routes ExaModelsPower parsing through PowerIO.

This PR's branch currently retains ExaPowerIO as a dependency for PGLib artifact lookup, pending the guidance of @hfytr, @sshin23, @frapac .

The main change that this PR offers is broad format compatibility for ExaModelsPower beyond MATPOWER: through PowerIO, ExaModelsPower immediately supports PSS/E .raw, PowerWorld .aux, PSLF .epc, PowerModels .json, and more.

PowerIO has also already shipped distribution systems support as of v0.3.0 through the powerio-dist crate, creating a straightforward pathway for future distribution systems support in ExaModelsPower. (note that PowerIO has already been adopted as a dependency by BMOPFTools.jl)

At the same time, this PR branch is smaller than the current parser path.

Changes:

  • add PowerIO as a parser dependency
  • keep ExaPowerIO for PGLib fallback, if desired by the maintainers
  • add from passthrough for ambiguous .json formats such as PowerModels vs. Egret
  • update multi period load rewriting for NamedTuple bus rows

Current checks:

  • implementation branch diff: net -39 LOC
  • testing branch: https://github.com/samtalki/ExaModelsPower.jl/tree/agent/powerio-parser-backend-tests
  • focused parser checks passed: PowerIO matched ExaPowerIO on MATPOWER and storage cases
  • generated RAW, AUX, and PowerModels JSON companions parse and build AC/DC/MPOPF models
  • local ACTIVSg200 RAW, AUX, and EPC companion cases parse and build DCOPF models
  • Pkg.test("ExaModelsPower") passed locally

cc @hfytr: ExaPowerIO’s fantastic PowerData layout made this integration extremely straightforward. I would greatly value your review and expertise on this, and I would be happy to coordinate on the parser surface in PowerIO as well.

Unrelated Aside

The full local ExaModelsPower test suite passed, but took >25 minutes on my machine. Is this expected behavior?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant