edisgo.io.powermodels_io

This module provides tools to convert eDisGo representation of the network topology and timeseries to PowerModels network data format and to retrieve results from PowerModels OPF in PowerModels network data format to eDisGo representation. Call to_powermodels() to retrieve the PowerModels network container and from_powermodels() to write OPF results to edisgo object.

Module Contents

Functions

to_powermodels(edisgo_object[, s_base, flexible_cps, ...])

Convert eDisGo representation of the network topology and timeseries to

from_powermodels(edisgo_object, pm_results, hv_flex_dict)

Convert results from optimization in PowerModels network data format to eDisGo data

aggregate_parallel_transformers(psa_net)

Calculate impedance for parallel transformers and aggregate them. Replace

edisgo.io.powermodels_io.to_powermodels(edisgo_object, s_base=1, flexible_cps=None, flexible_hps=None, flexible_loads=None, flexible_storage_units=None, opf_version=1)[source]

Convert eDisGo representation of the network topology and timeseries to PowerModels network data format.

Parameters:
  • edisgo_object (EDisGo)

  • s_base (int) – Base value of apparent power for per unit system. Default: 1 MVA.

  • flexible_cps (numpy.ndarray or None) – Array containing all charging points that allow for flexible charging.

  • flexible_hps (numpy.ndarray or None) – Array containing all heat pumps that allow for flexible operation due to an attached heat storage.

  • flexible_loads (numpy.ndarray or None) – Array containing all flexible loads that allow for application of demand side management strategy.

  • flexible_storage_units (numpy.ndarray or None) – Array containing all flexible storages. Non-flexible storage units operate to optimize self consumption. Default: None.

  • opf_version (int) – Version of optimization models to choose from. Must be one of [1, 2, 3, 4]. For more information see edisgo.opf.powermodels_opf.pm_optimize(). Default: 1.

Returns:

First dictionary contains all network data in PowerModels network data format. Second dictionary contains time series of HV requirement for each flexibility retrieved from overlying_grid component of edisgo object and reduced by non-flexible components.

Return type:

(dict, dict)

edisgo.io.powermodels_io.from_powermodels(edisgo_object, pm_results, hv_flex_dict, s_base=1)[source]

Convert results from optimization in PowerModels network data format to eDisGo data format and updates timeseries values of flexibilities on eDisGo object.

Parameters:
  • edisgo_object (EDisGo)

  • pm_results (dict or str) – Dictionary or path to json file that contains all optimization results in PowerModels network data format.

  • hv_flex_dict (dict) – Dictionary containing time series of HV requirement for each flexibility retrieved from overlying grid component of edisgo object.

  • s_base (int) – Base value of apparent power for per unit system. Default: 1 MVA.

edisgo.io.powermodels_io.aggregate_parallel_transformers(psa_net)[source]

Calculate impedance for parallel transformers and aggregate them. Replace psa_net.transformers dataframe by aggregated transformer dataframe.

Parameters:

psa_net (PyPSA.Network) – PyPSA.Network representation of network.