Skip to content

Commit e82714c

Browse files
committed
PandaPower_Converter: Fix Transformer Loading Calculation by current and power and updating of validation tests
Signed-off-by: furqan463 <[email protected]>
1 parent 1954ccd commit e82714c

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/power_grid_model_io/converters/pandapower_converter.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2034,23 +2034,24 @@ def _pp_trafos_output_3ph(self): # pylint: disable=too-many-statements
20342034
pgm_output_transformers["s_from"][:, 0],
20352035
pgm_output_transformers["s_to"][:, 0],
20362036
)
2037-
/ pgm_output_transformers["s_n"]
2037+
/ (pgm_input_transformers["sn"] / 3)
20382038
)
20392039
loading_b_percent = (
20402040
np.maximum(
20412041
pgm_output_transformers["s_from"][:, 1],
20422042
pgm_output_transformers["s_to"][:, 1],
20432043
)
2044-
/ pgm_output_transformers["s_n"]
2044+
/ (pgm_input_transformers["sn"] / 3)
20452045
)
20462046
loading_c_percent = (
20472047
np.maximum(
20482048
pgm_output_transformers["s_from"][:, 2],
20492049
pgm_output_transformers["s_to"][:, 2],
20502050
)
2051-
/ pgm_output_transformers["s_n"]
2051+
/ (pgm_input_transformers["sn"] / 3)
20522052
)
2053-
loading = pgm_output_transformers["loading"]
2053+
# To make it consistent with PandaPower, overall loading will be calculated as max of above 3.
2054+
loading = np.maximum(np.maximum(loading_a_percent, loading_b_percent), loading_c_percent)
20542055
else:
20552056
raise ValueError(f"Invalid transformer loading type: {str(self.trafo_loading)}")
20562057

tests/validation/converters/test_pandapower_converter_output.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,11 @@ def load_and_convert_pgm_data_3ph() -> PandaPowerData:
5252
Load and convert the power_grid_model results
5353
"""
5454
data, extra_info = load_json_single_dataset(PGM_ASYM_OUTPUT_FILE, data_type="asym_output")
55-
converter = PandaPowerConverter()
56-
return converter.convert(data=data, extra_info=extra_info)
55+
# trafo_loading = "power", as validation data is based on power based loading
56+
converter = PandaPowerConverter(trafo_loading="power")
57+
# if pp_input_data is not present in converter, some convert functions may fail.
58+
converter.load_input_data(load_validation_data_3ph(), make_extra_info=False)
59+
return converter.convert(data=data)
5760

5861

5962
@lru_cache

0 commit comments

Comments
 (0)