Sienna-Platform / Sienna-Platform/PowerFlowFileParser.jl
Transformers: nominal voltage different from bus voltage
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 1
- Forks
- 2
- Avg merge
- 22h 29m
- Merged PRs (30d)
- 10
Description
AI has identified bugs in the way we're handling NOMV1: when the bus base voltage differs from the winding voltage, our math doesn't work out.
Added a T3 transformer to
synthetic_v35_transformer_discriminators.raw:CZ=1/CW=1/CM=2,SBASE1-2=40,MAG1=40000.0 W,MAG2=0.004, andNOMV1=145.0against a138 kVbus I. OnlyCW=3consultsNOMV1for the tap, soCW=1isolatesNOMV1to the impedance and admittance bases. Parsed output:br_r=0.008,br_x=0.024,g_fr=0.001,b_fr=-0.0038729833,tap=1.0— bit-for-bit whatNOMV1=0gives.NOMV1currently reaches nothing. Two places this shows up:
CZ=1'sZ_base_sys/Z_base_device(psse.jl:1156-1157) — a comment bug, not a numeric one. BothZ_basesare built from the samebase_voltage_from, so the voltage cancels and the expression is identicallymva_ratio. The comment saying it uses impedance ratios so that "NOMV1 could potentially be different than the bus_voltage" is misleading. But since a TransformerCircuit's voltage base is its bus's, collapsing to the power ratio is the right answer — so this wants deleting or rewording, not fixing.CM=2's magnetizing admittance — a real uncorrected factor. PSS/E definesMAG2onSBASE1-2and winding-one nominal voltage, while the series impedance beside it is on the winding-one bus base voltage. Rebasing an admittance scales it by(V_new/V_old)², so the stored value sits(NOMV1/V_bus)²above the bus-base one — ~10.4% high on this fixture — on a quantity the Ybus assembles next to an impedance that got no such factor. _transformer_mag_pu_conversion (psse.jl:1018) applies only the power ratio.
Currently every PSSE transformer record we're testing with has NOMV1 = 0.0, so this is also a test coverage gap. Code is here
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/pm_io/psse.jl around _transformer_mag_pu_conversion and the CZ=1 handling at lines 1156-1157, then inspect the synthetic_v35_transformer_discriminators.raw fixture and its transformer records. Verify the NOMV1-based CM=2 magnetizing admittance behavior against the documented bus and winding voltage bases, and add coverage for a nonzero NOMV1 case; done means the fixture exposes the corrected behavior and the misleading comment is addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100