Skip to content

Commit 6119480

Browse files
author
Steffen Meinecke
committed
support pandapower parameters step_dependency_table and tap_dependency_table, released with pandapower version 3.0.0
1 parent 01da21c commit 6119480

File tree

4 files changed

+23
-6
lines changed

4 files changed

+23
-6
lines changed

CHANGELOG.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Change Log
44
[1.6.0] - 2024-xx-xx
55
----------------------
66
- [CHANGED] support pandapower geojson, released with pandapower version 3.0.0
7+
- [ADDED] support pandapower parameters step_dependency_table and tap_dependency_table, released with pandapower version 3.0.0
78
- [CHANGED] drop python 3.8 support
89

910
[1.5.3] - 2024-04-23

simbench/converter/csv_pp_converter.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
# contributors (see AUTHORS file for details). All rights reserved.
44

55
# This is the csv_pp_converter for the simbench project.
6-
# pandapower 2.0.1 <-> simbench format (reasled status from 25.04.2019)
6+
7+
# OPTIONAL IMPROVEMENTS for compatibility with future pandapower changes: constructing the
8+
# dataframes net[element_table] by using the create_buses(), create_lines(), ... functions
9+
# which where fast enough or not available at the time SimBench was developed.
710

811
import os
912
import pandas as pd
@@ -28,7 +31,7 @@
2831
from simbench.converter.pp_net_manipulation import _extend_pandapower_net_columns, \
2932
_add_dspf_calc_type_and_phys_type_columns, _add_vm_va_setpoints_to_buses, \
3033
_prepare_res_bus_table, replace_branch_switches, create_branch_switches, _add_coordID, \
31-
_set_vm_setpoint_to_trafos
34+
_set_vm_setpoint_to_trafos, _set_dependency_table_parameters
3235
from simbench.converter.csv_data_manipulation import *
3336
from simbench.converter.csv_data_manipulation import _extend_coordinates_to_node_shape, \
3437
_sort_switch_nodes_and_prepare_element_and_et, \
@@ -127,6 +130,7 @@ def csv_data2pp(csv_data):
127130
create_branch_switches(net)
128131
net.bus.loc[net.bus.type == "multi_auxiliary", "type"] = "auxiliary"
129132
_set_vm_setpoint_to_trafos(net, csv_data)
133+
_set_dependency_table_parameters(net)
130134
_csv_types_to_pp2(net)
131135
ensure_bus_index_columns_as_int(net)
132136

@@ -222,15 +226,20 @@ def pp2csv_data(net1, export_pp_std_types=False, drop_inactive_elements=True,
222226
csv_data = _init_csv_tables(['elements', 'profiles', 'types', 'res_elements'])
223227
aux_nodes_are_reserved = reserved_aux_node_names is not None
224228

229+
if ("step_dependency_table" in net1.trafo.columns and net1.trafo.step_dependency_table.any()) \
230+
or \
231+
("step_dependency_table" in net1.shunt.columns and net1.shunt.step_dependency_table.any()):
232+
logger.warning("'step_dependency_table' is not supported in SimBench's csv data format.")
233+
225234
# --- net data preparation for converting
226235
_extend_pandapower_net_columns(net)
227236
if drop_inactive_elements:
228237
# attention: trafo3ws are not considered in current version of drop_inactive_elements()
229238
pp.drop_inactive_elements(net, respect_switches=False)
230-
check_results = pp.deviation_from_std_type(net)
231-
if check_results:
239+
dev_from_std = pp.deviation_from_std_type(net)
240+
if dev_from_std:
232241
logger.warning("There are deviations from standard types in elements: " +
233-
str(["%s" % elm for elm in check_results.keys()]) + ". Only the standard " +
242+
str(["%s" % elm for elm in dev_from_std.keys()]) + ". Only the standard " +
234243
"type values are converted to csv.")
235244
convert_parallel_branches(net)
236245
merge_busbar_coordinates(net, True)

simbench/converter/pp_net_manipulation.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,13 @@ def _set_vm_setpoint_to_trafos(net, csv_data):
408408
idx_node].values
409409

410410

411+
def _set_dependency_table_parameters(net):
412+
for et in ["trafo", "trafo3w", "shunt"]:
413+
param = "step_dependency_table" if et == "shunt" else "tap_dependency_table"
414+
if param in net[et].columns:
415+
net[et][param] = False
416+
net[et][param] = net[et][param].astype(bool)
417+
411418
def _prepare_res_bus_table(net):
412419
""" Adds columns to be converted to csv_data. """
413420
if net.res_bus.shape[0]:

simbench/test/converter/test_csv_pp_converter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ def test_example_simple():
256256
logger.error("dtype adjustment of %s failed." % key)
257257
# drop result table rows
258258
if pp_is_27lower and "res_" in key:
259-
if not key == "res_bus":
259+
if key != "res_bus":
260260
net[key] = net[key].iloc[0:0]
261261
else:
262262
net[key].loc[:, ["p_mw", "q_mvar"]] = np.nan

0 commit comments

Comments
 (0)