Skip to content

Commit 9952520

Browse files
committed
Fix Validation Errors
Signed-off-by: furqan463 <[email protected]>
1 parent fd06285 commit 9952520

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

src/power_grid_model_io/converters/pandapower_converter.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@
4040
pp_ref_version = Version("3.1.2")
4141

4242

43+
def get_loss_params_3ph():
44+
if pp_curr_version <= pp_ref_version:
45+
loss_params = ["p_a_l_mw", "q_a_l_mvar", "p_b_l_mw", "q_b_l_mvar", "p_c_l_mw", "q_c_l_mvar"]
46+
else:
47+
loss_params = ["pl_a_mw", "ql_a_mvar", "pl_b_mw", "ql_b_mvar", "pl_c_mw", "ql_c_mvar"]
48+
return loss_params
49+
50+
4351
# pylint: disable=too-many-instance-attributes
4452
class PandaPowerConverter(BaseConverter[PandaPowerData]):
4553
"""
@@ -1844,13 +1852,6 @@ def _pp_buses_output_3ph__accumulate_power(self, pp_output_buses_3ph: pd.DataFra
18441852
# Finally apply the unit conversion (W -> MW and VAR -> MVAR)
18451853
pp_output_buses_3ph[power_columns] /= 1e6
18461854

1847-
def get_loss_params_3ph(self):
1848-
if pp_curr_version <= pp_ref_version:
1849-
loss_params = ["p_a_l_mw", "q_a_l_mvar", "p_b_l_mw", "q_b_l_mvar", "p_c_l_mw", "q_c_l_mvar"]
1850-
else:
1851-
loss_params = ["pl_a_mw", "ql_a_mvar", "pl_b_mw", "ql_b_mvar", "pl_c_mw", "ql_c_mvar"]
1852-
return loss_params
1853-
18541855
def _pp_lines_output_3ph(self):
18551856
"""
18561857
This function converts a power-grid-model Line output array to a Line Dataframe of PandaPower.
@@ -1877,7 +1878,7 @@ def _pp_lines_output_3ph(self):
18771878
i_from = (pgm_output_lines["p_from"] + 1j * pgm_output_lines["q_from"]) / u_complex.iloc[from_nodes, :]
18781879
i_to = (pgm_output_lines["p_to"] + 1j * pgm_output_lines["q_to"]) / u_complex.iloc[to_nodes, :]
18791880

1880-
loss_params = self.get_loss_params_3ph()
1881+
loss_params = get_loss_params_3ph()
18811882
pp_output_lines_3ph = pd.DataFrame(
18821883
columns=[
18831884
"p_a_from_mw",
@@ -2058,7 +2059,7 @@ def _pp_trafos_output_3ph(self): # pylint: disable=too-many-statements
20582059

20592060
loading = np.maximum(np.maximum(loading_a_percent, loading_b_percent), loading_c_percent)
20602061

2061-
loss_params = self.get_loss_params_3ph()
2062+
loss_params = get_loss_params_3ph()
20622063
pp_output_trafos_3ph = pd.DataFrame(
20632064
columns=[
20642065
"p_a_hv_mw",

tests/validation/converters/test_pandapower_converter_output.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from power_grid_model.validation import assert_valid_input_data
1818

1919
from power_grid_model_io.converters import PandaPowerConverter
20-
from power_grid_model_io.converters.pandapower_converter import PandaPowerData
20+
from power_grid_model_io.converters.pandapower_converter import PandaPowerData, get_loss_params_3ph
2121

2222
from ...data.pandapower.pp_validation import pp_net, pp_net_3ph, pp_net_3ph_minimal_trafo
2323
from ..utils import component_attributes_df, load_json_single_dataset
@@ -324,19 +324,19 @@ def _get_total_powers_3ph(net):
324324
s_shunt = np.complex128()
325325

326326
s_load = s_load_sym + s_load_asym + s_motor + s_ward + s_shunt
327-
327+
loss_params = get_loss_params_3ph()
328328
if "res_line_3ph" in net:
329329
s_loss_line = (
330-
net.res_line_3ph.loc[:, ["p_a_l_mw", "p_b_l_mw", "p_c_l_mw"]].sum().sum()
331-
+ 1j * net.res_line_3ph.loc[:, ["q_a_l_mvar", "q_b_l_mvar", "q_c_l_mvar"]].sum().sum()
330+
net.res_line_3ph.loc[:, [loss_params[0], loss_params[2], loss_params[4]]].sum().sum()
331+
+ 1j * net.res_line_3ph.loc[:, [loss_params[1], loss_params[3], loss_params[5]]].sum().sum()
332332
)
333333
else:
334334
s_loss_line = np.complex128()
335335

336336
if "res_trafo_3ph" in net:
337337
s_loss_trafo = (
338-
net.res_trafo_3ph.loc[:, ["p_a_l_mw", "p_b_l_mw", "p_c_l_mw"]].sum().sum()
339-
+ 1j * net.res_trafo_3ph.loc[:, ["q_a_l_mvar", "q_b_l_mvar", "q_c_l_mvar"]].sum().sum()
338+
net.res_trafo_3ph.loc[:, [loss_params[0], loss_params[2], loss_params[4]]].sum().sum()
339+
+ 1j * net.res_trafo_3ph.loc[:, [loss_params[1], loss_params[3], loss_params[5]]].sum().sum()
340340
)
341341
else:
342342
s_loss_trafo = np.complex128()

0 commit comments

Comments
 (0)