From 914e609c7c6cb14af7eafbc9e2f4412ddab923e3 Mon Sep 17 00:00:00 2001 From: lukelowry Date: Fri, 31 Jul 2026 05:54:28 -0500 Subject: [PATCH 1/4] Initial state input file design spec --- GridKit/Model/PhasorDynamics/STATE.md | 119 ++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 GridKit/Model/PhasorDynamics/STATE.md diff --git a/GridKit/Model/PhasorDynamics/STATE.md b/GridKit/Model/PhasorDynamics/STATE.md new file mode 100644 index 000000000..3abe1bb75 --- /dev/null +++ b/GridKit/Model/PhasorDynamics/STATE.md @@ -0,0 +1,119 @@ +# State Input Format + +A representation of the models state from which it can be initialized. This decouples the model definition from the model state. + +In addition to making model initialization easier, it also lets us seperate the case from the dispatch. With one canonical `texas.case.json` we might have multiple operating points provided in `examples/`: +- `texas-summer2025.state.json` +- `texas-winter2025.state.json` +- `texas-summer2026.state.json` + +For example `texas-summer2025.state.json` might be structured as: + +```json +"header":{ + ... +}, +"buses":{ + ... +}, +"devices":{ + ... +} +``` + +Inside the `buses` and `devices` we have: + +- The `states` represents the internal variables +- The `injections` represent residuals contributed by each device + +Then Model initialization at a higher or lower fidelity `PowerFlow`$\leftrightarrow$ `PhasorDynamics`$\leftrightarrow$ `EMT` requires no API. + +## Bus + +### RMS State (PowerFlow & PhasorDynamics) + +RMS state initialization/storage is written with real and imaginary parts: + +```json +"bus_id_2533":{ + "states": { + "vr": 0.9289638822595822, + "vi": -0.39534548980249884 + }, + "injections": { + "6533_C":{ + "ir": 13.185009956359863, + "ii": 0.785739004611969 + }, + "6533_G":{ + "ir": 12.132010459899902, + "ii": 0.785739004611969 + } + } +}, +``` + +### ABC State (EMT) + +EMT should support balanced initialization (see previous section) but also unbalanced initialization, which would require higher fidelity. This would also specifiy branch injections for distirbuted network models. + +```json +"bus_id_2533":{ + "states": { + "va": 0.9289638822595822, + "vb": -0.39534548980249884, + "vc": -0.39534548980249884 + }, + "injections": { + "gen_325":{ + "ia": 13.185009956359863, + "ib": 0.785739004611969, + "ic": 0.785739004611969 + }, + "branch_6533":{ + "ia": 13.185009956359863, + "ib": 0.785739004611969, + "ic": 0.785739004611969 + } + } +}, +``` + +## Devices + +This is where we store stateful information like connectivity and dispatch, which can be shared across all domains (PowerFlow & PhasorDynamics & EMT). This would also let us specify non steady state initialziations with `"omega": 0.0` + + +```json +"gen_id_2":{ + "states":{ + "online": true, + "p": 55, + "q": -12, + }, +} +"br_id_2":{ + "states":{ + "open": false, + "tap": 1, + "phase": 0 + }, +} +``` + + +# Migration + +`Bus`: +- Remove the `init` fields from `Bus` in the `INPUT_FORMAT.md` +- make an interface `setVr(..)` and `setVi(..)`. + +`Branch`: +- Remove `tap` and `phase` as parameters +- make an interface `setTap(..)` and `setPhase(..)`. +- add `setOpen(..)` interface + +`LoadZIP`, `GENROU`, `GENSAL`, `GenClassical`: +- Remove `p0` and `q0` as parameters +- make an interface `setP(..)` and `setQ(..)`. +- add `setOnline(..)` interface From 9a2d416e4e487568833d1a046077173fbe072f5b Mon Sep 17 00:00:00 2001 From: lukelowry Date: Fri, 31 Jul 2026 06:26:16 -0500 Subject: [PATCH 2/4] improve readability --- GridKit/Model/PhasorDynamics/STATE.md | 37 +++++++++------------------ 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/GridKit/Model/PhasorDynamics/STATE.md b/GridKit/Model/PhasorDynamics/STATE.md index 3abe1bb75..7d328b2ae 100644 --- a/GridKit/Model/PhasorDynamics/STATE.md +++ b/GridKit/Model/PhasorDynamics/STATE.md @@ -21,12 +21,7 @@ For example `texas-summer2025.state.json` might be structured as: } ``` -Inside the `buses` and `devices` we have: - -- The `states` represents the internal variables -- The `injections` represent residuals contributed by each device - -Then Model initialization at a higher or lower fidelity `PowerFlow`$\leftrightarrow$ `PhasorDynamics`$\leftrightarrow$ `EMT` requires no API. +Inside the `buses` and `devices` the relevant boundary states needed for intiailziation are given for each component. Then Model initialization at a higher or lower fidelity `PowerFlow`$\leftrightarrow$ `PhasorDynamics`$\leftrightarrow$ `EMT` requires no direct API. ## Bus @@ -36,10 +31,8 @@ RMS state initialization/storage is written with real and imaginary parts: ```json "bus_id_2533":{ - "states": { - "vr": 0.9289638822595822, - "vi": -0.39534548980249884 - }, + "vr": 0.9289638822595822, + "vi": -0.39534548980249884, "injections": { "6533_C":{ "ir": 13.185009956359863, @@ -59,11 +52,9 @@ EMT should support balanced initialization (see previous section) but also unbal ```json "bus_id_2533":{ - "states": { - "va": 0.9289638822595822, - "vb": -0.39534548980249884, - "vc": -0.39534548980249884 - }, + "va": 0.9289638822595822, + "vb": -0.39534548980249884, + "vc": -0.39534548980249884, "injections": { "gen_325":{ "ia": 13.185009956359863, @@ -86,18 +77,14 @@ This is where we store stateful information like connectivity and dispatch, whic ```json "gen_id_2":{ - "states":{ - "online": true, - "p": 55, - "q": -12, - }, + "online": true, + "p": 55, + "q": -12 } "br_id_2":{ - "states":{ - "open": false, - "tap": 1, - "phase": 0 - }, + "open": false, + "tap": 1, + "phase": 0 } ``` From feb714c0f8e4f7f51995a935e92e233594b2b413 Mon Sep 17 00:00:00 2001 From: lukelowry Date: Fri, 31 Jul 2026 06:29:14 -0500 Subject: [PATCH 3/4] add hawaii as examlpe --- .../Medium/Hawaii/hawaii.state.json | 1276 +++++++++++++++++ 1 file changed, 1276 insertions(+) create mode 100644 examples/PhasorDynamics/Medium/Hawaii/hawaii.state.json diff --git a/examples/PhasorDynamics/Medium/Hawaii/hawaii.state.json b/examples/PhasorDynamics/Medium/Hawaii/hawaii.state.json new file mode 100644 index 000000000..c2e26ffab --- /dev/null +++ b/examples/PhasorDynamics/Medium/Hawaii/hawaii.state.json @@ -0,0 +1,1276 @@ +{ + "header": { + "version": 1, + "time": null, + "created": "2026-07-31T05:55:01-05:00", + "description": "Steady state solution at nominal dispatch" + }, + "buses": { + "bus_id_1": { + "vr": 0.9933554848330083, + "vi": -0.019418658335526237, + "injections": {} + }, + "bus_id_2": { + "vr": 0.9888972890393228, + "vi": -0.06789088436732856, + "injections": { + "load_2_1": { + "ir": -0.610935511520733, + "ii": 0.04194262905588722 + }, + "2_1": { + "ir": 0.0246093033740539, + "ii": -0.009779324786220393 + }, + "2_2": { + "ir": 0.0246093033740539, + "ii": -0.009779324786220393 + }, + "2_3": { + "ir": 0.0246093033740539, + "ii": -0.009779324786220393 + }, + "2_4": { + "ir": 0.0246093033740539, + "ii": -0.009779324786220393 + } + } + }, + "bus_id_3": { + "vr": 0.9811930004560111, + "vi": -0.08120573241251416, + "injections": { + "load_3_1": { + "ir": -0.6011658543315694, + "ii": 0.049753833832591146 + } + } + }, + "bus_id_4": { + "vr": 0.973882121818533, + "vi": -0.09799386875845349, + "injections": { + "load_4_1": { + "ir": -0.22841344669983002, + "ii": 0.022983394824799837 + } + } + }, + "bus_id_5": { + "vr": 0.9883394508774866, + "vi": -0.035718999056302735, + "injections": {} + }, + "bus_id_6": { + "vr": 0.9766427916739501, + "vi": -0.09452447564732258, + "injections": { + "load_6_1": { + "ir": -0.2785579304968843, + "ii": 0.026960258696520138 + } + } + }, + "bus_id_7": { + "vr": 0.9757827875915684, + "vi": -0.09690307773461183, + "injections": { + "load_7_1": { + "ir": -0.3755812077942841, + "ii": 0.03729823423548919 + } + } + }, + "bus_id_8": { + "vr": 0.9737759184819345, + "vi": -0.09723662816672486, + "injections": { + "load_8_1": { + "ir": -0.6619314869082514, + "ii": 0.06609732757068487 + } + } + }, + "bus_id_9": { + "vr": 0.9857919157353446, + "vi": -0.043874258021844165, + "injections": {} + }, + "bus_id_10": { + "vr": 0.9761721215093908, + "vi": -0.0966083630561868, + "injections": { + "load_10_1": { + "ir": -0.3830651605923962, + "ii": 0.03791062794485952 + } + } + }, + "bus_id_11": { + "vr": 0.9686003345219932, + "vi": -0.11075118417485612, + "injections": { + "load_11_1": { + "ir": -0.6680160861395831, + "ii": 0.07638193995082874 + } + } + }, + "bus_id_12": { + "vr": 0.9716135420181101, + "vi": -0.10552276091084352, + "injections": { + "load_12_1": { + "ir": -0.5493991554963695, + "ii": 0.059667875367037805 + } + } + }, + "bus_id_13": { + "vr": 0.9734195116664179, + "vi": -0.10393945803713067, + "injections": { + "load_13_1": { + "ir": -0.6017158246368267, + "ii": 0.06424980797647038 + } + } + }, + "bus_id_14": { + "vr": 0.9822907352895506, + "vi": -0.05382151209032174, + "injections": {} + }, + "bus_id_15": { + "vr": 0.9732168267136281, + "vi": -0.10280037149327517, + "injections": { + "load_15_1": { + "ir": -0.6188549363276505, + "ii": 0.0653693150474571 + } + } + }, + "bus_id_16": { + "vr": 0.9759580386148334, + "vi": -0.11043777731182759, + "injections": { + "load_16_1": { + "ir": -0.2410833042419752, + "ii": 0.027280582990292273 + }, + "shunt_16_1": { + "ir": -0.03534008738271184, + "ii": -0.31230656036405424 + } + } + }, + "bus_id_17": { + "vr": 0.9682619523875232, + "vi": -0.11857720998414674, + "injections": { + "load_17_1": { + "ir": -0.12250918964151708, + "ii": 0.015002962647958959 + } + } + }, + "bus_id_18": { + "vr": 0.9684321205816101, + "vi": -0.12098763685104205, + "injections": { + "load_18_1": { + "ir": -0.36927559597500104, + "ii": 0.046134138629089945 + } + } + }, + "bus_id_19": { + "vr": 0.9894399665466365, + "vi": -0.060763253831496, + "injections": { + "load_19_1": { + "ir": -0.489341447375825, + "ii": 0.03005132153792719 + } + } + }, + "bus_id_20": { + "vr": 0.9890789809125838, + "vi": -0.03391634560838157, + "injections": { + "load_20_1": { + "ir": -0.6559002868917456, + "ii": 0.02249136949036346 + } + } + }, + "bus_id_21": { + "vr": 0.9758027869300845, + "vi": -0.08997553646760098, + "injections": { + "load_21_1": { + "ir": -0.49121066284731957, + "ii": 0.04529290498066607 + } + } + }, + "bus_id_22": { + "vr": 0.9962891675055405, + "vi": -0.014686502845308745, + "injections": {} + }, + "bus_id_23": { + "vr": 0.9993245410953303, + "vi": -0.03674862670369486, + "injections": { + "load_23_1": { + "ir": -0.8669140465953357, + "ii": 0.0318794339300454 + }, + "23_1": { + "ir": 0.6922632928921335, + "ii": -0.025898018478358098 + }, + "23_10": { + "ir": 0.3910188615598424, + "ii": -0.014820216724922371 + }, + "23_2": { + "ir": 0.6922632928921335, + "ii": -0.025898018478358098 + }, + "23_3": { + "ir": 0.47603570286263375, + "ii": -0.017946580619817964 + }, + "23_4": { + "ir": 0.470761902006154, + "ii": -0.017752644685079505 + }, + "23_5": { + "ir": 0.4450148693235363, + "ii": -0.016805837062658584 + }, + "23_6": { + "ir": 0.4450148693235363, + "ii": -0.016805837062658584 + }, + "23_7": { + "ir": 0.4358328407985501, + "ii": -0.016468182051927484 + }, + "23_8": { + "ir": 0.4315732129468594, + "ii": -0.016311540773362596 + }, + "23_9": { + "ir": 0.12521726396835825, + "ii": -0.005045770801249845 + } + } + }, + "bus_id_24": { + "vr": 0.991323659034225, + "vi": -0.064225050960176, + "injections": { + "load_24_1": { + "ir": -0.46791279225070703, + "ii": 0.030314743982300517 + } + } + }, + "bus_id_25": { + "vr": 0.9965716303889519, + "vi": -0.00919728361371664, + "injections": {} + }, + "bus_id_26": { + "vr": 0.9931443749906678, + "vi": -0.06242880472410738, + "injections": { + "load_26_1": { + "ir": -0.7550132079246857, + "ii": 0.04745993967100201 + }, + "26_1": { + "ir": 0.19680532669027573, + "ii": -0.07278530879187695 + }, + "26_2": { + "ir": 0.1003454953399798, + "ii": -0.03752168342480275 + } + } + }, + "bus_id_27": { + "vr": 1.0031325897695496, + "vi": 0.023862500418301104, + "injections": { + "load_27_1": { + "ir": -0.03935438151680202, + "ii": -0.0009361613359829214 + }, + "27_1": { + "ir": 0.2976142195999607, + "ii": 0.060911011627818215 + }, + "27_2": { + "ir": 0.2737974801722077, + "ii": 0.05635694998018814 + } + } + }, + "bus_id_28": { + "vr": 0.9999916562514691, + "vi": 0.0040850247788307755, + "injections": { + "load_28_1": { + "ir": -0.08819926698135537, + "ii": -0.00036029919733944623 + }, + "28_1": { + "ir": 0.4627718821300769, + "ii": 0.056758388183165545 + }, + "28_2": { + "ir": 0.6897701053981817, + "ii": 0.05768568928713354 + } + } + }, + "bus_id_29": { + "vr": 0.9953819154880136, + "vi": -0.001689904327326718, + "injections": { + "load_29_1": { + "ir": -0.07735701891162758, + "ii": 0.0001313324654323885 + } + } + }, + "bus_id_30": { + "vr": 0.9957712762493851, + "vi": -0.007340260721509001, + "injections": { + "load_30_1": { + "ir": -0.4923553941670744, + "ii": 0.0036293645408612377 + } + } + }, + "bus_id_31": { + "vr": 0.994545466811905, + "vi": -0.03649918854700933, + "injections": { + "load_31_1": { + "ir": -0.09659749899477392, + "ii": 0.00354506701466531 + } + } + }, + "bus_id_32": { + "vr": 0.990953188522265, + "vi": -0.022853986350578673, + "injections": { + "load_32_1": { + "ir": -0.06727314621078467, + "ii": 0.0015514956539515816 + } + } + }, + "bus_id_33": { + "vr": 0.9942413119251227, + "vi": -0.052982437452907004, + "injections": { + "load_33_1": { + "ir": -0.5839139476638374, + "ii": 0.031116373700139695 + }, + "33_1": { + "ir": 0.27237648426962385, + "ii": -0.09799549231444096 + } + } + }, + "bus_id_34": { + "vr": 0.9993384407366903, + "vi": -0.03636867973903476, + "injections": { + "34_1": { + "ir": 0.07250953231222809, + "ii": 0.007191975659428379 + }, + "34_2": { + "ir": 0.06071734011060897, + "ii": 0.007621126029432837 + }, + "34_3": { + "ir": 0.06071734011060897, + "ii": 0.007621126029432837 + }, + "34_4": { + "ir": 0.06071734011060897, + "ii": 0.007621126029432837 + }, + "34_5": { + "ir": 0.060407545193980595, + "ii": 0.007632400320151938 + }, + "34_6": { + "ir": 0.07250953231222809, + "ii": 0.007191975659428379 + } + } + }, + "bus_id_35": { + "vr": 0.9999784225857238, + "vi": 0.006569198046003193, + "injections": { + "35_1": { + "ir": 0.5799909492808285, + "ii": 0.0032802670903971016 + }, + "35_2": { + "ir": 0.27999744040472513, + "ii": 0.0013095077941847888 + }, + "35_4": { + "ir": 0.19999916839782836, + "ii": 0.0007839719623290898 + }, + "35_5": { + "ir": 0.6699890407128228, + "ii": 0.0038714951339486035 + }, + "35_7": { + "ir": 0.49999269217361025, + "ii": 0.0027547313564224535 + }, + "35_8": { + "ir": 0.56199133097443, + "ii": 0.003162021481555417 + } + } + }, + "bus_id_36": { + "vr": 0.9946436699675367, + "vi": -0.06197191489110113, + "injections": { + "36_1": { + "ir": 0.019405957595724235, + "ii": -0.011262952241849759 + }, + "36_2": { + "ir": 0.020417470639155264, + "ii": -0.011325975213926575 + }, + "36_3": { + "ir": 0.019405957595724235, + "ii": -0.011262952241849759 + }, + "36_4": { + "ir": 0.02421314606711172, + "ii": -0.011562467217724515 + } + } + }, + "bus_id_37": { + "vr": 0.9999903715081334, + "vi": 0.004388267428635608, + "injections": { + "37_3": { + "ir": 0.58348337645191, + "ii": -0.053697727132094704 + }, + "37_5": { + "ir": 0.6850403090023958, + "ii": -0.05325206386176609 + } + } + } + }, + "devices": { + "BR_1_2_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_1_2_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_1_2_3": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_1_5_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_1_5_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_1_22_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_1_25_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_1_25_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_1_35_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_1_35_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_2_4_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_2_6_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_2_6_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_2_7_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_2_21_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_2_23_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_2_23_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_2_23_3": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_2_26_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_2_26_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_3_6_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_3_6_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_3_16_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_3_19_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_3_19_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_3_19_3": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_3_21_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_4_13_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_5_6_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_5_9_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_5_14_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_7_6_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_7_6_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_7_6_3": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_6_11_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_6_12_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_6_12_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_7_10_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_7_13_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_7_13_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_7_13_3": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_8_15_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_8_19_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_8_19_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_9_10_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_9_14_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_11_13_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_11_15_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_12_15_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_12_17_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_13_16_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_14_15_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_14_15_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_16_18_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_17_18_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_19_23_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_19_23_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_19_23_3": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_19_23_4": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_20_23_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_20_30_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_20_32_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_22_23_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_22_23_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_22_23_3": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_22_25_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_22_37_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_23_34_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_23_34_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_24_26_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_24_26_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_24_33_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_24_36_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_25_26_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_25_26_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_25_35_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_25_35_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_25_37_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_25_37_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_27_29_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_28_30_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_28_30_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_28_31_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_29_30_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_29_32_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_31_33_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_33_34_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_33_34_2": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "BR_35_37_1": { + "open": false, + "tap": 1.0, + "phase": 0.0 + }, + "load_2_1": { + "online": true, + "p": -0.6069999932999999, + "q": 0.0 + }, + "load_3_1": { + "online": true, + "p": -0.5939000249, + "q": 0.0 + }, + "load_4_1": { + "online": true, + "p": -0.2247000039, + "q": 0.0 + }, + "load_6_1": { + "online": true, + "p": -0.27459999919999994, + "q": 0.0 + }, + "load_7_1": { + "online": true, + "p": -0.3700999916, + "q": 0.0 + }, + "load_8_1": { + "online": true, + "p": -0.6510000229, + "q": 0.0 + }, + "load_10_1": { + "online": true, + "p": -0.3776000141999999, + "q": 0.0 + }, + "load_11_1": { + "online": true, + "p": -0.6554999947999999, + "q": 0.0 + }, + "load_12_1": { + "online": true, + "p": -0.5400999784, + "q": 0.0 + }, + "load_13_1": { + "online": true, + "p": -0.5924000143999998, + "q": 0.0 + }, + "load_15_1": { + "online": true, + "p": -0.6090000271999999, + "q": 0.0 + }, + "load_16_1": { + "online": true, + "p": -0.23829999569999996, + "q": 0.0 + }, + "load_17_1": { + "online": true, + "p": -0.1203999966, + "q": 0.0 + }, + "load_18_1": { + "online": true, + "p": -0.3632000089000001, + "q": 0.0 + }, + "load_19_1": { + "online": true, + "p": -0.48600000139999994, + "q": 0.0 + }, + "load_20_1": { + "online": true, + "p": -0.6495000124000001, + "q": 0.0 + }, + "load_21_1": { + "online": true, + "p": -0.4833999872000001, + "q": 0.0 + }, + "load_23_1": { + "online": true, + "p": -0.8675000072, + "q": 0.0 + }, + "load_24_1": { + "online": true, + "p": -0.46579998730000005, + "q": 0.0 + }, + "load_26_1": { + "online": true, + "p": -0.7527999878, + "q": 0.0 + }, + "load_27_1": { + "online": true, + "p": -0.03950000179999999, + "q": 0.0 + }, + "load_28_1": { + "online": true, + "p": -0.08820000289999999, + "q": 0.0 + }, + "load_29_1": { + "online": true, + "p": -0.07699999960000001, + "q": 0.0 + }, + "load_30_1": { + "online": true, + "p": -0.49029999970000004, + "q": 0.0 + }, + "load_31_1": { + "online": true, + "p": -0.0961999968, + "q": 0.0 + }, + "load_32_1": { + "online": true, + "p": -0.0666999966, + "q": 0.0 + }, + "load_33_1": { + "online": true, + "p": -0.5821999907, + "q": 0.0 + }, + "shunt_16_1": { + "online": true, + "p": 0.0, + "q": 0.3087009787999999 + }, + "2_1": { + "online": true, + "p": 0.025000000400000003, + "q": 0.0080000004 + }, + "2_2": { + "online": true, + "p": 0.025000000400000003, + "q": 0.0080000004 + }, + "2_3": { + "online": true, + "p": 0.025000000400000003, + "q": 0.0080000004 + }, + "2_4": { + "online": true, + "p": 0.025000000400000003, + "q": 0.0080000004 + }, + "23_1": { + "online": true, + "p": 0.6927474141000001, + "q": 0.0004408001 + }, + "23_10": { + "online": true, + "p": 0.391299367, + "q": 0.0004408001 + }, + "23_2": { + "online": true, + "p": 0.6927474141000001, + "q": 0.0004408001 + }, + "23_3": { + "online": true, + "p": 0.47637367249999996, + "q": 0.0004408001 + }, + "23_4": { + "online": true, + "p": 0.471096307, + "q": 0.0004408001 + }, + "23_5": { + "online": true, + "p": 0.44533187150000003, + "q": 0.0004408001 + }, + "23_6": { + "online": true, + "p": 0.44533187150000003, + "q": 0.0004408001 + }, + "23_7": { + "online": true, + "p": 0.4361436367, + "q": 0.0004408001 + }, + "23_8": { + "online": true, + "p": 0.4318811297, + "q": 0.0004408001 + }, + "23_9": { + "online": true, + "p": 0.12531810999999998, + "q": 0.0004408001 + }, + "26_1": { + "online": true, + "p": 0.200000003, + "q": 0.0599999987 + }, + "26_2": { + "online": true, + "p": 0.10199999809999999, + "q": 0.0309999995 + }, + "27_1": { + "online": true, + "p": 0.3000000119, + "q": -0.054000001400000004 + }, + "27_2": { + "online": true, + "p": 0.2759999931, + "q": -0.0500000007 + }, + "28_1": { + "online": true, + "p": 0.4629998803, + "q": -0.05486748 + }, + "28_2": { + "online": true, + "p": 0.6899999976, + "q": -0.05486748 + }, + "33_1": { + "online": true, + "p": 0.2759999931, + "q": 0.0829999968 + }, + "34_1": { + "online": true, + "p": 0.0722000003, + "q": -0.0098242937 + }, + "34_2": { + "online": true, + "p": 0.0604000017, + "q": -0.0098242937 + }, + "34_3": { + "online": true, + "p": 0.0604000017, + "q": -0.0098242937 + }, + "34_4": { + "online": true, + "p": 0.0604000017, + "q": -0.0098242937 + }, + "34_5": { + "online": true, + "p": 0.0600900017, + "q": -0.0098242937 + }, + "34_6": { + "online": true, + "p": 0.0722000003, + "q": -0.0098242937 + }, + "35_1": { + "online": true, + "p": 0.5799999833, + "q": 0.0005298791 + }, + "35_2": { + "online": true, + "p": 0.2800000012, + "q": 0.0005298791 + }, + "35_4": { + "online": true, + "p": 0.200000003, + "q": 0.0005298791 + }, + "35_5": { + "online": true, + "p": 0.6700000167, + "q": 0.0005298791 + }, + "35_7": { + "online": true, + "p": 0.5, + "q": 0.0005298791 + }, + "35_8": { + "online": true, + "p": 0.5619999766, + "q": 0.0005298791 + }, + "36_1": { + "online": true, + "p": 0.0199999996, + "q": 0.0099999998 + }, + "36_2": { + "online": true, + "p": 0.021010000299999998, + "q": 0.0099999998 + }, + "36_3": { + "online": true, + "p": 0.0199999996, + "q": 0.0099999998 + }, + "36_4": { + "online": true, + "p": 0.0248000007, + "q": 0.0099999998 + }, + "37_3": { + "online": true, + "p": 0.5832421184, + "q": 0.0562576912 + }, + "37_5": { + "online": true, + "p": 0.6848000288, + "q": 0.0562576912 + } + } +} From 3b0b656c39f7133f84c1168e8b5fc3fe26e57498 Mon Sep 17 00:00:00 2001 From: lukelowry Date: Wed, 5 Aug 2026 21:08:35 -0500 Subject: [PATCH 4/4] Fix STATE documentation trailing whitespace --- GridKit/Model/PhasorDynamics/STATE.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/GridKit/Model/PhasorDynamics/STATE.md b/GridKit/Model/PhasorDynamics/STATE.md index 7d328b2ae..120b8f024 100644 --- a/GridKit/Model/PhasorDynamics/STATE.md +++ b/GridKit/Model/PhasorDynamics/STATE.md @@ -92,15 +92,15 @@ This is where we store stateful information like connectivity and dispatch, whic # Migration `Bus`: -- Remove the `init` fields from `Bus` in the `INPUT_FORMAT.md` +- Remove the `init` fields from `Bus` in the `INPUT_FORMAT.md` - make an interface `setVr(..)` and `setVi(..)`. `Branch`: - Remove `tap` and `phase` as parameters - make an interface `setTap(..)` and `setPhase(..)`. -- add `setOpen(..)` interface +- add `setOpen(..)` interface `LoadZIP`, `GENROU`, `GENSAL`, `GenClassical`: - Remove `p0` and `q0` as parameters - make an interface `setP(..)` and `setQ(..)`. -- add `setOnline(..)` interface +- add `setOnline(..)` interface