SimBench Grids

SimBench provides a dataset of electrical power system benchmark models with grid data from low voltage level to extra high voltage level with full year load, generation and storage profiles.

_images/grid_preview.png

The grids are received using the following function:

simbench.get_simbench_net(sb_code_info: str, input_path: str = None)

Returns the simbench net, requested by a given SimBench code information. Please have a look into jupyter notebook tutorials to learn more about simbench grids and the meaning of SimBench codes.

Parameters:
sb_code_infostr or list

simbench code information which defines which simbench grid is requested. For example, e.g. '1-MVLV-urban-all-0-sw' requests a grid with the urban MV grid and all connected LV grids, both of SimBench version 1, scenario zero and with full switch representation. As an alternative [1, "MV", "LV", "urban", "all", 0, "sw"] can be passed.

input_pathstr, optional

option to change the path to all simbench grid csv files. However, a change should not be necessary and is only for cases of applying the function to data from alternative location, by default None

Returns:
pandapowerNet

requsted simbench grid

Examples

>>> import simbench as sb
>>> net = sb.get_simbench_net('1-MVLV-urban-all-0-sw')
>>> import pandapower as pp
>>> pp.toolbox.nets_equal(net, sb.get_simbench_net([1, "MV", "LV", "urban", "all", 0, "sw"]))
True

Available SimBench codes can be found and filtered by the following function:

simbench.collect_all_simbench_codes(version=1, hv_level=None, lv_level=None, hv_type=None, lv_grid=None, scenario=None, breaker_rep=None, all_data=True, shortened=False, **kwargs)

Returns a list of all possible SimBench Codes, considering given fixed sb_code_parameters. kwargs are ignored.

Examples

>>> all_codes = collect_all_simbench_codes()
>>> single_zone_codes = collect_all_simbench_codes(lv_level="", all_data=False)
>>> all_data_codes = collect_all_simbench_codes(hv_level="")
>>> mv_grids_without_switch_and_lv = collect_all_simbench_codes(
...     hv_level="MV", lv_level="", breaker_rep=False)
>>> urban_hv_grid_scenario1_codes = collect_all_simbench_codes(
...     hv_level="HV", hv_type="urban", scenario=1)
>>> rural_and_urban_mv_grid_scenario1_codes = sb.collect_all_simbench_codes(
...     hv_level="MV", lv_level="", hv_type=["rural", "urban"], scenario=1, all_data=False)