Skip to content

Add PowerFactory DGS reader#126

Draft
samtalki wants to merge 1 commit into
mainfrom
feat/powerfactory-dgs
Draft

Add PowerFactory DGS reader#126
samtalki wants to merge 1 commit into
mainfrom
feat/powerfactory-dgs

Conversation

@samtalki

Copy link
Copy Markdown
Member

Summary

Adds read support for DIgSILENT PowerFactory data via the DGS plaintext interchange format.

  • Adds a DGS reader (V5 and V7 schemas) that resolves StaCubic connectivity and maps the object model into Network.
  • Recognizes and rejects the encrypted .pfd project export (no public decoder) with an error pointing at the DGS export path.
  • Adds parity tests against the MATPOWER companion (IEEE 39 exact incl. r/x/tap, IEEE 118 bus set and generators) using public MPL-2.0 fixtures.
  • Bumps to 0.2.4.

Validation

  • cargo fmt --all --check
  • cargo clippy --all-targets -p powerio -- -D warnings
  • cargo test
  • cargo test -p powerio --test dgs_parity

🤖 Generated with Claude Code

Read DIgSILENT PowerFactory data through the DGS plaintext interchange
format (V5 and V7). The .pfd project export is encrypted with no public
decoder, so it is recognized and rejected with an error pointing at the
DGS export path.

- dgs reader: parse the class tables, resolve StaCubic connectivity, and
  map ElmTerm/ElmLne/ElmTr2/ElmSym/ElmLod/ElmShnt into Network with
  TypLne/TypTr2 per-unit impedances; base_mva defaults to 100.
- Recognize and reject .pfd across parse_file, the CLI, and the bindings.
- Parity tests against the MATPOWER companion (IEEE 39 exact, including
  r/x/tap; IEEE 118 bus set and generators) using public MPL-2.0 fixtures.
- Bump to 0.2.4.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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