Reject unsupported three-phase transformer groups and repair CI warning paths - #3145
Open
RanaPriyansh wants to merge 12 commits into
Open
RanaPriyansh wants to merge 12 commits into
RanaPriyansh wants to merge 12 commits into
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #3145 +/- ##
===========================================
+ Coverage 71.19% 71.21% +0.02%
===========================================
Files 360 360
Lines 40545 40599 +54
===========================================
+ Hits 28864 28912 +48
- Misses 11681 11687 +6 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Author
|
CI at
The Python 3.10–3.14 build matrix and linting jobs passed. |
vogt31337
previously approved these changes
Sep 23, 2026
RanaPriyansh
force-pushed
the
fix-3122-reject-unsupported-vector-groups
branch
from
September 24, 2026 09:44
0f4299d to
3276fc0
Compare
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



runpp_3phaccepted unsupported two-winding transformer vector groupsyy,yd,dy, anddd. An earlycontinueskipped validation. Validation now runs before that branch and still applies only to three-phase power flow. This addresses #3122.The change also corrects transformer data and JSON loading:
tap_dependency_table=Falsewith Boolean dtype for 11,714 transformer rows. All other serialized values remain unchanged.LogSplineCharacteristicJSON loading now supplies positive raw-domain values to its constructor, then restores the stored logarithmic arrays. A round-trip test checks interpolation.Falsefor short-circuit power-station flags and temperature-dependent line calculations.The CI repairs address numerical edge cases and preserve established warning contracts:
The Python 3.14 strict-warning group 1 and Python 3.12 full suite ran on source tree
158f264904208afff75ffcf26718482c550d270bat pre-rewrite commit08dfc7630f90c7dea701bd98d69d3f0f6c954dcf. The identity rewrite represents that same source tree atf4ea606677e09e07e83698679bed6e616031ac47. Group 1 reports 778 passed, 39 skipped, and 7 xfailed. The Python 3.12 full suite reports 1,678 passed, 168 skipped, 22 xfailed, and 12 xpassed. Python 3.14 strict-warning group 2 ran before the final signed-zero fixture correction and reports 902 passed, 129 skipped, 16 xfailed, and 11 xpassed. A focused strict Python 3.14 signed-zero check passed after that correction. Focused tests for three-phase convergence, isolated buses, short-circuit currents, and voltage unbalance pass. Before this repair, Codecov reported 71.18% project coverage on pre-rewrite commit7ecc152, whose source tree84c49a4ed8b034dcb9b3fd71dd9e2dacbf93ad42is now represented byd727ed3302ef5d8dc4aaee94bc4e277e8a893f0a, versus 71.19% on the base.Transmission-network expansion (TNEP) now initializes
res_ne_line.builtwith Boolean dtype. A regression test checks initialFalsevalues and checks thatread_tnep_resultsmaps 0.25 toFalseand 0.75 toTruewhile preserving Boolean dtype.SQLite connections use a shared context manager that completes the transaction before closing the connection. The Python 3.12 SQLite checks report one passed test and one existing expected failure. The full suite was not repeated for the SQLite change. Codacy and SonarCloud passed on
3276fc0e3dc039f75fe6c8dedfe016f5f6c12c17, before the TNEP change.The OPF setpoint tests now write the 0.99 and 0.96 targets through single-step
.loc[row, column]assignments. Julia is unavailable locally. The hosted Python 3.14 OPF job passed on the current head. The storage OPF fixture now initializesload_tsandsgen_tswith float dtype. It writessgen_tsvalues through direct DataFrame.locassignments. A focused strict-warning data-transfer check passed without Julia.PandaModels storage results now read scalar
ps,qs, andsevalues for each storage index. A strict non-Julia regression checks power, reactive power, and state of charge across two storages and two timesteps. The qflex test now writes transformerpm_param/setpoint_qandpm_param/sidethrough direct DataFrame.locassignments. A strict non-Julia semantic andconvert_pp_to_pmcheck passed.The
runpm_plossandrunpm_loadingpaths now write the branch-side metadata with direct DataFrame.locassignments for branches markedTrue. A strict non-Julia semantic check passed for both functions. The current-head workflow onc8ef952e07b75dfe024b52e5b693986ca9297aa4completed with 25 successful jobs, one failed job, and five cancelled jobs. The hosted OPF job and strict Python 3.14 warning group 2 passed. Strict Python 3.14 warning group 1 logged a 60-second pytest timeout in unchangedtest_contingency_parallel[case14]. The 30-minute job limit then cancelled group 1. Focused local Python 3.14.5 checks passed both parallel contingency cases with-W error, including an explicitforkserverrun. These macOS checks do not establish a Linux CI pass. The failed relying Python 3.10 job repeated the pandapipestest_convert_format[0.1.0-True]KeyError: 'component_list'seen on the base. Group 1 did not complete strict-warning coverage. The PR remains open and requires review.The strict Python 3.14 warning group 1 on
b1a834f4stopped when LightSim warned that the contingency test had no tagged slack generator. The test now expects this warning around itsrun_contingency_ls2gcall. Warning group 2 was cancelled on that head, so it did not validate the TNEP path. That workflow ended with 24 passed, two failed, and five cancelled jobs.The strict Python 3.14 warning group 2 on
d38f5b8passed the TNEP path, then stopped at an unchanged chained assignment intest_runpm_vstab. The new setpoint change replaces both chained assignments in those tests. Warning group 1 timed out in an unchanged parallel contingency test before it reached the revised LightSim warning assertion. Thed38f5b8workflow ended with 24 passed, two failed, and five cancelled jobs. The other failure is the same downstream pandapipes loader case described below.The strict Python 3.14 warning group 2 on
a8a0d9b9passedtest_runpm_vstab, then stopped attest_storage_opt. Its time-series fixture produced an object-dtype array for a float64 target, which raised a pandasFutureWarningunder strict warnings. The fixture change initializes float tables and uses direct generator assignments. Warning group 1 again timed out in the unchanged parallel contingency test before it reached the LightSim assertion. The relying Python 3.10 job repeated the downstream pandapipes loader failure.The strict Python 3.14 warning group 2 on
7a061a8passed the storage fixture transfer, then stopped inread_pm_storage_results. It assigned a single-element Series to a scalar result cell, which triggered a pandas warning andValueError. The scalar read change addresses that assignment for each storage index. Warning group 1 again timed out in an unchanged parallel contingency test before reaching the LightSim assertion. The relying Python 3.10 job repeated the downstream pandapipes loader failure.The strict Python 3.14 warning group 2 on
a6faeeapassed the storage result test, then stopped at a chained transformer setpoint assignment intest_runpm_qflex_and_multi_qflex. The qflex change replaces that assignment and the adjacent transformer-side assignment. Warning group 1 again timed out in an unchanged parallel contingency test before reaching the LightSim assertion. The relying Python 3.10 job repeated the downstream pandapipes loader failure.The strict Python 3.14 warning group 2 on
1d66799passed the qflex test, then stopped at a chained assignment insiderunpm_ploss. The branch-side change replaces that write inrunpm_plossand the equivalent write inrunpm_loading. Warning group 1 again timed out in an unchanged parallel contingency test before reaching the LightSim assertion. The relying Python 3.10 job repeated the downstream pandapipes loader failure.The earlier relying job stopped while installing SimBench on Python 3.10. On earlier head
3276fc0, 28 checks passed, two failed, and five were cancelled. The strict Python 3.14 warning failure occurred when TNEP wrote a Boolean result to an integer column. The TNEP change initializes that column with Boolean dtype. The relying job on3276fc0skips SimBench as intended, then fails in pandapipestest_convert_format[0.1.0-True]withKeyError: 'component_list'. The base job shows the same failure. Pandapipes #818 and #817 cover that downstream loader contract. This PR does not change its decoder allowlist. Older-format schema behavior remains under pandapower #3044. The separateYyndocumentation question remains under #2507.Codex used.