diff --git a/pandapower/control/controller/station_control.py b/pandapower/control/controller/station_control.py index 42a5350ba5..cf8116e55b 100644 --- a/pandapower/control/controller/station_control.py +++ b/pandapower/control/controller/station_control.py @@ -1,12 +1,19 @@ import numpy as np import numbers +from cmath import isnan +import numpy as np +from enum import Enum from collections.abc import Sequence -import logging - +from scipy.optimize import minimize +from pandapower import create_gen, create_sgen +import pandas as pd from pandapower.control.basic_controller import Controller from pandapower.auxiliary import _detect_read_write_flag, read_from_net, write_to_net from pandapower.control.util.auxiliary import get_min_max_q_mvar_from_characteristics_object -from enum import Enum +import logging +import pandapower.topology as top +import networkx as nx + logger = logging.getLogger(__name__) @@ -16,9 +23,10 @@ class BinarySearchControl(Controller): It can be used for reactive power control, voltage control, cosines(phi) or tangens(phi) control. The control modus can be set via the control_modus parameter. Input and output elements and indexes can be lists. Input elements can be transformers, switches, lines or buses (only in voltage control). the controlled bus must be - given to input_element_index. Output elements are sgens, where active and reactive power can be set. The - "output_values_distribution" describes the distribution of reactive power provision between multiple - "output_elements" and will be normalized to 100 % (1). + given to input_element_index. Output elements are sgens, where active and reactive power can be set. + Distribution_method takes a string and selects the type of reactive power distribution. + Output_distribution_value describes the distribution of reactive power provision between multiple + output_elements and will be normalized to 100 % (1). Parameters ---------- @@ -36,8 +44,17 @@ class BinarySearchControl(Controller): Index or list of indices of the output element(s) in net (e.g. ``"net.sgen"``). output_element_in_service : bool or list of bool Indicates whether each output element is in service. + distribution_method : str -> ControlModusEnum + Takes string to select one of the different available reactive power distribution + methods: 'rel_P' -Q is relative to dispatched Power, 'rel_rated_S' -Q is relative to the rated apparent power S, currently + using the sgen attribute 'sn_mva', 'set_Q' -set individual reactive power for each output element, + 'max_Q' -maximized reactive power reserve for the output elements, 'rel_V_pu' -Q is relative to the voltage + limits of the output element. output_values_distribution : int, float or list of float - Distribution of reactive power provision among output elements (must sum to 1). + The values of the Q distribution, only applicable if distribution_method = 'set_Q' or rel_V_pu. + For 'set_Q': list of floats - Distribution of reactive power provision among output elements (must sum to 1). + For 'rel_V_pu': list of lists - Must be a list containing lists + [Target Voltage, minimal allowed Voltage, maximal allowed Voltage] for each output element. input_element : str Measurement location, can be a transformer, switches or lines. Must be a bus for ``"V_ctrl"``. Indicated by string value ``"res_trafo"``, ``"res_switch"``, ``"res_line"`` or ``"res_bus"``. @@ -49,11 +66,7 @@ class BinarySearchControl(Controller): Indicates whether the measurement of each input element must be inverted. Required when importing from PowerFactory. input_element_index : int or list of int - Element of input element in net. Controlled bus in case of Voltage control. Can be - given the string ``"auto"`` in control_modus ``"V_ctrl"`` to automatically select a bus whose nominal voltage is >= X kV. - The X must be given to set_point. Will take target voltage of the encountered bus. If no bus is found, - uses the bus next to the controlled generator group. Not completely implemented, generators on multiple buses - are not correctly handled. + Element of input element in net. control_modus : str -> ControlModusEnum: Enables the selection of the available control modi by taking one of the strings: ``"Q_ctrl"``, ``"V_ctrl"``, ``"PF_ctrl_ind"`` or ``"PF_ctrl_cap"`` for power factor control with reactance or ``"tan_phi_ctrl"``. @@ -88,10 +101,10 @@ class BinarySearchControl(Controller): Additional keyword arguments. """ - def __init__(self, net, ctrl_in_service, output_element, output_variable, output_element_index, - output_element_in_service, output_values_distribution, input_element, input_variable, - input_element_index, set_point, control_modus:str=None, name="", input_inverted=None, - tol=0.001, in_service=True, order=0, level=0, drop_same_existing_ctrl=False, + def __init__(self, net, ctrl_in_service:bool, output_element, output_variable, output_element_index, + output_element_in_service, input_element, input_variable, input_element_index, set_point:float, + distribution_method:str = None, output_values_distribution = None, control_modus:str=None, name="", + input_inverted=None, tol=0.001, in_service=True, order=0, level=0, drop_same_existing_ctrl=False, matching_params=None, **kwargs): super().__init__(net, in_service=in_service, order=order, level=level, drop_same_existing_ctrl=drop_same_existing_ctrl, @@ -113,12 +126,14 @@ def __init__(self, net, ctrl_in_service, output_element, output_variable, output self.output_values = None self.output_values_old = None self.output_element = output_element #typically sgens, output of Q - self.output_values_distribution = np.array(output_values_distribution, dtype=np.float64) / np.sum( - output_values_distribution) + self.output_values_distribution = output_values_distribution + self.max_q_mvar = [] #limits of output element Q + self.min_q_mvar = [] self.diff = None self.diff_old = None self.converged = False # criteria for success of controller self.redistribute_values = None # Values to save for redistributed gens + self.applied_distribution = False #true if distribution is applied at least once, no convergence if False self.counter_warning = False # only one message that only one active output element self.read_flag = [] # type of read value self.write_flag, self.output_variable = _detect_read_write_flag(net, output_element, output_element_index, @@ -130,7 +145,6 @@ def __init__(self, net, ctrl_in_service, output_element, output_variable, output else: self.output_element_index = [] self.output_element_index.append(output_element_index) - self.output_element_index = output_element_index if isinstance(output_element_in_service, bool): self.output_element_in_service = [output_element_in_service] else: @@ -142,6 +156,15 @@ def __init__(self, net, ctrl_in_service, output_element, output_variable, output self.input_element_index.append(input_element_index) if self.tol is None: #old order self.tol = 0.001 + try: + self.distribution_method = ControlModusEnum(distribution_method) + except ValueError: + logger.warning(f"Control_modus {getattr(self, 'distribution_method', None)} not recognized," + f" using 'rel_P' from available types 'rel_P', 'max_Q', 'set_Q', 'rel_V_pu' or 'rel_rated_S'\n") + if self.output_values_distribution is not None: + self.distribution_method = ControlModusEnum.set_Q + else: + self.distribution_method = ControlModusEnum.rel_P ###Q direction at element n = len(self.input_element_index) @@ -159,13 +182,56 @@ def __init__(self, net, ctrl_in_service, output_element, output_variable, output self.output_element = output_element self.output_element_index = output_element_index self.output_element_in_service = output_element_in_service - + if self.tol is None: #old order + self.tol = 0.001 + ###allocating distribution method and distribution values + if self.distribution_method == ControlModusEnum.rel_V_pu: + self.bus_idx_dist = [] # initializing bus idx + output_values_distribution = np.array(self.output_values_distribution) # forming limit arrays + if output_values_distribution.ndim == 1: # one controlled sgen + try: + self.v_set_point_pu = np.array(output_values_distribution)[0] + self.v_min_pu = np.minimum(np.array(output_values_distribution)[1], + np.array(output_values_distribution)[2]) + self.v_max_pu = np.maximum(np.array(output_values_distribution)[1], np.array(output_values_distribution)[2]) + except IndexError: #insufficient values in array + logger.warning(f"Insufficient values in distribution rel_V_pu {self.output_values_distribution} In " + f"Controller {self.index}. Using set point 1 pu and min/max 0.9/1.1 pu\n") + equal_array = [1, 0.9, 1.1] + self.output_values_distribution = np.tile(equal_array, (len(np.array(self.output_element_in_service)), 1))[0] + output_values_distribution = np.array(self.output_values_distribution) # forming limit arrays + self.v_set_point_pu = output_values_distribution[0] + self.v_min_pu = output_values_distribution[1] + self.v_max_pu = output_values_distribution[2] + + elif output_values_distribution.ndim >= 2: #more than one controlled sgen + try:#insufficient values in arrays + self.v_set_point_pu = np.array(output_values_distribution)[:, 0] + self.v_min_pu = np.minimum(np.array(output_values_distribution)[:, 1], np.array(output_values_distribution)[:, 2]) + self.v_max_pu = np.maximum(np.array(output_values_distribution)[:, 1], np.array(output_values_distribution)[:, 2]) + except IndexError: + logger.warning(f"Insufficient values in distribution rel_V_pu {self.output_values_distribution} In " + f"Controller {self.index}. Using set point 1 pu and min/max 0.9/1.1 pu\n") + equal_array = [1, 0.9, 1.1] + self.output_values_distribution = np.full(len(np.array(self.output_element_in_service)), equal_array) + output_values_distribution = np.array(self.output_values_distribution) # forming limit arrays + self.v_set_point_pu = output_values_distribution[:, 0] + self.v_min_pu = output_values_distribution[:, 1] + self.v_max_pu = output_values_distribution[:, 2] + else: + self.output_values_distribution = None # normalize the values distribution: self._normalize_distribution_in_service(initial_pf_distribution=output_values_distribution) - - self.output_adjustable = np.array([False if not distribution else service - for distribution, service in zip(np.atleast_1d(self.output_values_distribution), - np.atleast_1d(self.output_element_in_service))], dtype=bool) + if self.distribution_method == ControlModusEnum.rel_V_pu: + self.output_adjustable = np.array([ + service if distribution is None else (False if not distribution else service) + for distribution, service in zip(np.atleast_1d(np.atleast_2d( + self.output_values_distribution)[0][0]), np.atleast_1d(self.output_element_in_service))], + dtype=np.bool) + else: #rel_V_pu has arrays as output_values_distribution + self.output_adjustable = np.array([False if not distribution else service + for distribution, service in zip(list(np.atleast_1d(self.output_values_distribution)), + list(np.atleast_1d(self.output_element_in_service)))], dtype=bool) ###finding correct control_modus, catching deprecated voltage_ctrl argument### if control_modus is None: #catching old attribute voltage_ctrl if hasattr(self, 'voltage_ctrl'): @@ -178,11 +244,11 @@ def __init__(self, net, ctrl_in_service, output_element, output_variable, output if isinstance(control_modus,bool) and control_modus == True: #Only functions written out!?! self.control_modus = ControlModusEnum.v_ctrl logger.warning(f"Deprecated Controller control_modus for Controller {self.index}, using 'V_ctrl' from available" - f" types 'Q_ctrl', 'V_ctrl', 'PF_ctrl' or 'tan(phi)_ctrl'\n") + f" types 'Q_ctrl', 'V_ctrl', 'PF_ctrl' or 'tan_phi_ctrl'\n") elif isinstance(control_modus, bool) and control_modus == False: #Only functions written out!?! self.control_modus = ControlModusEnum.q_ctrl logger.warning(f"Deprecated Controller control_modus for Controller {self.index}, using Q_ctrl from available" - f" types 'Q_ctrl', 'V_ctrl', 'PF_ctrl' or 'tan(phi)_ctrl'\n") + f" types 'Q_ctrl', 'V_ctrl', 'PF_ctrl' or 'tan_phi_ctrl'\n") else: try: self.control_modus = ControlModusEnum(control_modus) @@ -190,16 +256,16 @@ def __init__(self, net, ctrl_in_service, output_element, output_variable, output logger.warning(f"Control_modus {control_modus} not recognized, using 'Q_ctrl' from available" f" types 'Q_ctrl', 'V_ctrl', 'PF_ctrl' or 'tan_phi_ctrl'\n") self.control_modus = ControlModusEnum.q_ctrl - if self.control_modus == ControlModusEnum.PF_ctrl_cap: #-1 for capacitive, 1 for inductive systems - self.reactance= -1 - else: - if control_modus == ControlModusEnum.PF_ctrl: - logger.warning( - f"Ambivalent reactive power flow direction for Controller {self.index}, using inductive direction.\n") - self.control_modus = ControlModusEnum.PF_ctrl_ind - self.reactance = 1 + if self.control_modus in ControlModusEnum.pf_modes(): # checking cos(phi) limits + if self.control_modus == ControlModusEnum.PF_ctrl_cap: #-1 for capacitive, 1 for inductive systems + self.reactance= -1 + else: + if control_modus == ControlModusEnum.PF_ctrl: + logger.warning( + f"Ambivalent reactive power flow direction for Controller {self.index}, using inductive direction.\n") + self.control_modus = ControlModusEnum.PF_ctrl_ind + self.reactance = 1 - if self.control_modus in ControlModusEnum.pf_modes(): #checking cos(phi) limits if abs(self.set_point) > 1: raise UserWarning(f'Power Factor Controller {self.index}: Set point out of range ([-1,1]') ###adding input elements### @@ -231,16 +297,57 @@ def __init__(self, net, ctrl_in_service, output_element, output_variable, output if isinstance(input_variable, list): input_variable_p = input_variable[counter].replace('q', 'p').replace('var','w') _, input_variable_temp_p = _detect_read_write_flag(net, self.input_element,input_index, - input_variable_p) + input_variable_p) else: input_variable_p = input_variable.replace('q', 'p').replace('var', 'w') - _, input_variable_temp_p = _detect_read_write_flag(net, self.input_element,input_index, - input_variable_p) - self.input_variable_p.append(input_variable_temp_p) #read flag p not necessary, flag same as Q variables + _, input_variable_temp_p = _detect_read_write_flag(net, self.input_element, + input_index, + input_variable_p) + self.input_variable_p.append(input_variable_temp_p) #read flag p not necessary, flag same as Q variables self.read_flag.append(read_flag_temp) self.input_variable.append(input_variable_temp) counter += 1 + ###reading Q limits### + for output_index in np.atleast_1d(self.output_element_index): + try: + min_q = read_from_net(net, self.output_element, output_index, 'min_q_mvar', 'single_index') + assert(np.isnan(min_q) == False) # error if nan + except Exception as e: + logger.error(e) + logger.warning( + f'Output element {self.output_element} at index {output_index} is missing required attribute min_q_mvar' + f' for Controller {self.index}. Using -20 as lower limit\n') + min_q = -20 + try: + max_q = read_from_net(net, self.output_element, output_index, 'max_q_mvar', 'single_index') + assert(np.isnan(max_q) == False)#error if nan + except Exception as e: + logger.error(e) + logger.warning( + f'Output element {self.output_element} at index {output_index} is missing required attribute max_q_mvar' + f' for Controller {self.index}. Using 20 as upper limit\n') + max_q = 20 + self.max_q_mvar.append(max(min_q, max_q)) #if min > max, switch + self.min_q_mvar.append(min(min_q, max_q)) + + #normalize the values distribution: + self._normalize_distribution_in_service(initial_pf_distribution=output_values_distribution) + self._update_min_max_q_mvar(net) + ###directions of q and inverted index + n = len(self.input_element_index) + if input_inverted is None or (isinstance(input_inverted, Sequence) and len(input_inverted) == 0): + # empty, then set all entries to 1 + self.input_sign = [1] * n + elif isinstance(input_inverted, bool): + # single bool, then set all entries to desired value +/-1 + self.input_sign = ([-1] if input_inverted else [1]) * n + else: + inv_list = list(input_inverted)[:n] + if len(inv_list) < n: + inv_list += [False] * (n - len(inv_list)) + self.input_sign = [-1 if inv else 1 for inv in inv_list] + def __str__(self): return super().__str__() + " [%s.%s.%s.%s]" % ( self.input_element, self.input_variable, self.output_element, self.output_variable) @@ -252,7 +359,7 @@ def __getattr__(self, name): f"'voltage_ctrl' in Controller {self.index} is deprecated. " "Use 'control_modus' ('Q_ctrl', 'V_ctrl', etc.) instead." ) - self._deprecation_warned = True #only one message that voltage ctrl is deprecated + self._deprecation_warned = True#only one message that voltage ctrl is deprecated return self.voltage_ctrl if name == 'bus_idx': if not hasattr(self, '_deprecation_warned_bus_idx'): @@ -261,21 +368,41 @@ def __getattr__(self, name): f"Give index of controlled bus to input_element_index. Input_variable must be 'vm_pu' and" f" input_element 'res_bus'" ) - self._deprecation_warned_bus_idx = True #only one warning about bus_idx deprecation + self._deprecation_warned_bus_idx = True#only one warning about bus_idx deprecation return self.input_element_index raise AttributeError(f"{self.__class__.__name__!r} has no attribute {name!r}") def initialize_control(self, net): + try: + self.distribution_method = ControlModusEnum(getattr(self, 'distribution_method', None)) + except ValueError: + logger.warning(f"Control_modus {getattr(self, 'distribution_method', None)} not recognized," + f" using 'rel_P' from available types 'rel_P', 'max_Q', 'set_Q', 'rel_V_pu' or 'rel_rated_S'\n") + if self.output_values_distribution is not None: + self.distribution_method = ControlModusEnum.set_Q + else: + self.distribution_method = ControlModusEnum.rel_P + #reread output elements output_element_index = np.atleast_1d(self.output_element_index)[0] if self.write_flag == 'single_index' else \ self.output_element_index #ruggedize for single index self.output_values = read_from_net(net, self.output_element, output_element_index, self.output_variable, self.write_flag) self.output_values_old = None - self.output_adjustable = np.array([False if not distribution else service - for distribution, service in zip(np.atleast_1d(self.output_values_distribution), - np.atleast_1d(self.output_element_in_service))], - dtype=bool) + if self.distribution_method == ControlModusEnum.rel_V_pu: + self.output_adjustable = np.array([ + service if distribution is None else (False if not distribution else service) + for distribution, service in zip(np.atleast_1d(np.atleast_2d( + self.output_values_distribution)[0][0]), np.atleast_1d(self.output_element_in_service))], + dtype=np.bool) + else: #rel_V_pu has arrays as output_values_distribution + self.output_adjustable = np.array([ + service if distribution is None else (False if not distribution else service) + for distribution, service in zip( + list(np.atleast_1d(self.output_values_distribution)), + list(np.atleast_1d(self.output_element_in_service)) + ) + ], dtype=bool) def is_converged(self, net): """ @@ -286,6 +413,39 @@ def is_converged(self, net): if not self.in_service: self.converged = True return self.converged + ###legacy before ControlModusEnum + if isinstance(self.control_modus,bool) and self.control_modus == True: #Only functions written out!?! + self.control_modus = ControlModusEnum.v_ctrl + logger.warning(f"Deprecated Controller control_modus for Controller {self.index}, using 'V_ctrl' from available" + f" types 'Q_ctrl', 'V_ctrl', 'PF_ctrl' or 'tan_phi_ctrl'\n") + elif isinstance(self.control_modus, bool) and self.control_modus == False: #Only functions written out!?! + self.control_modus = ControlModusEnum.q_ctrl + logger.warning(f"Deprecated Controller control_modus for Controller {self.index}, using Q_ctrl from available" + f" types 'Q_ctrl', 'V_ctrl', 'PF_ctrl' or 'tan_phi_ctrl'\n") + else: + try: + self.control_modus = ControlModusEnum(self.control_modus) + except ValueError: + logger.warning(f"Control_modus {self.control_modus} not recognized, using 'Q_ctrl' from available" + f" types 'Q_ctrl', 'V_ctrl', 'PF_ctrl' or 'tan_phi_ctrl'\n") + self.control_modus = ControlModusEnum.q_ctrl + if isinstance(self.control_modus, str): + try: + self.control_modus = ControlModusEnum(self.control_modus) + except ValueError: + logger.warning(f"Control_modus {self.control_modus} not recognized, using 'Q_ctrl' from available" + f" types 'Q_ctrl', 'V_ctrl', 'PF_ctrl' or 'tan_phi_ctrl'\n") + self.control_modus = ControlModusEnum.q_ctrl + if isinstance(self.distribution_method, str): + try: + self.distribution_method = ControlModusEnum(self.distribution_method) + except ValueError: + logger.warning(f"Control_modus {getattr(self, 'distribution_method', None)} not recognized," + f" using 'rel_P' from available types 'rel_P', 'max_Q', 'set_Q', 'rel_V_pu' or 'rel_rated_S'\n") + if self.output_values_distribution is not None: + self.distribution_method = ControlModusEnum.set_Q + else: + self.distribution_method = ControlModusEnum.rel_P ###updating input & output elements in service lists self.input_element_in_service = [] self.output_element_in_service = [] @@ -326,7 +486,7 @@ def is_converged(self, net): if len(self.output_element_in_service) <= 1: logger.warning( f'Reactive Power Distribution for one output element cannot be modified. The active {self.output_element}' - f' at index {np.array(self.output_element_index)}' + f' at index {str(np.array(self.output_element_index))}' f' will provide 100% of the reactive power in Controller {self.index}.\n') else: logger.warning( @@ -339,7 +499,7 @@ def is_converged(self, net): input_values = [] #reactive power q p_input_values = [] #active power p for power factor controllers counter = 0 - if self.input_element != 'res_bus': + if self.input_element != 'res_bus' and self.input_element != "res_gen": # and not any(getattr(net.controller.at[x, 'object'], 'controller_idx', False) == for input_index in self.input_element_index: if self.input_element_in_service[counter]: # input element not in service input_values.append(read_from_net(net, self.input_element, input_index, @@ -349,77 +509,84 @@ def is_converged(self, net): self.input_variable_p[counter], self.read_flag[counter])) counter += 1 input_values = (self.input_sign * np.asarray(input_values)).tolist() - if self.control_modus in ControlModusEnum.pf_modes() or self.control_modus == ControlModusEnum.tan_phi_ctrl: - p_input_values = (self.input_sign * np.asarray(p_input_values)).tolist() + if self.control_modus in ControlModusEnum.pf_modes() or self.control_modus == ControlModusEnum.tan_phi_ctrl: + p_input_values = (self.input_sign * np.asarray(p_input_values)).tolist() + ###reading Q limits in case of skipped initialization### + if not hasattr(self, 'min_q_mvar') or not hasattr(self, 'max_q_mvar'): + self.max_q_mvar = [] # limits of output element Q + self.min_q_mvar = [] + for output_index in self.output_element_index: + try: + min_q = read_from_net(net, self.output_element, output_index, 'min_q_mvar', 'single_index') + assert(np.isnan(min_q) == False) # error if nan + except Exception as e: + logger.error(e) + logger.warning( + f'Output element {self.output_element} at index {output_index} is missing required attribute min_q_mvar' + f' for Controller {self.index}. Using -20 as lower limit\n') + min_q = -20 + try: + max_q = read_from_net(net, self.output_element, output_index, 'max_q_mvar', 'single_index') + assert(np.isnan(max_q) == False)#error if nan + except Exception as e: + logger.error(e) + logger.warning( + f'Output element {self.output_element} at index {output_index} is missing required attribute max_q_mvar' + f' for Controller {self.index}. Using 20 as upper limit\n') + max_q = 20 + self.max_q_mvar.append(max(min_q, max_q)) #if min > max, switch + self.min_q_mvar.append(min(min_q, max_q)) + + # read previously set values # compare old and new set values if self.control_modus in ControlModusEnum.q_modes() or (self.control_modus in ControlModusEnum.v_modes() - and self.input_element_index is None): + and self.control_modus in ControlModusEnum.droop_modes() and self.bus_idx is None): if self.control_modus in ControlModusEnum.v_modes(): logger.warning('Missing attribute self.input_element_index, defaulting to Q_ctrl\n') self.control_modus = ControlModusEnum.q_ctrl self.diff_old = self.diff - if not any(self.output_adjustable): - logging.info('All stations controlled by %s reached reactive power limits.' %self.name) - self.converged = True - return self.converged + if self.diff is None: #first step for assured bsc_ctrl_step + self.diff = 1 else: # adapt output adjustable depending on in_service self.output_adjustable = np.array([in_service and adjustable for in_service, adjustable in zip( - self.output_element_in_service, self.output_adjustable - )], dtype=bool) - + self.output_element_in_service, self.output_adjustable)], dtype=bool) # normalize the values distribution self._normalize_distribution_in_service() - - self.diff = self.set_point - sum(input_values) + self.diff = self.set_point - sum(input_values) self.converged = np.all(np.abs(self.diff) < self.tol) - - elif self.control_modus in ControlModusEnum.pf_modes():#capacitive => reactance = -1, inductive => reactance = 1 - if self.control_modus == ControlModusEnum.PF_ctrl_ind: + elif self.control_modus in ControlModusEnum.pf_modes(): + if self.control_modus == ControlModusEnum.PF_ctrl_ind:#capacitive => reactance = -1, inductive => reactance = 1 self.reactance = 1 - else: - self.control_modus = ControlModusEnum.PF_ctrl_cap + elif self.control_modus == ControlModusEnum.PF_ctrl_cap: self.reactance = -1 - + elif self.control_modus == ControlModusEnum.PF_ctrl: + if self.reactance == 1: + self.control_modus = ControlModusEnum.PF_ctrl_ind + else: + self.control_modus = ControlModusEnum.PF_ctrl_cap #self.reactance == -1: self.diff_old = self.diff - if not any(self.output_adjustable): - logging.info('PF_ctrl: All stations controlled by %s reached reactive power limits.' %self.name) - self.converged = True - return self.converged + if self.diff is None: #first step for assured bsc_ctrl_step + self.diff = 1 else: - # adapt output adjustable depending on in_service - self.output_adjustable = np.array([in_service and adjustable for in_service, adjustable - in zip(self.output_element_in_service, self.output_adjustable)], dtype=bool) - # normalize the values distribution - self._normalize_distribution_in_service() - if -0.012 < self.set_point < 0.012: #clip set_point to handle pf=0 - min_q = -0.012 - max_q = -min_q - self.set_point = float(np.where((self.set_point >= 0) & (self.set_point <= max_q), max_q, self.set_point)) - self.set_point = float(np.where((self.set_point >= min_q) & (self.set_point < 0), float(min_q), self.set_point)) - logger.warning(f"Power factor calculation with set_point 0 not possible with BSC {self.index}.\n" - f"Maximizing Q output by clipping set_point to {self.set_point}\n") - q_set = self.reactance * sum(p_input_values)/len(p_input_values) * (np.tan(np.arccos(self.set_point))) - self.diff = q_set - sum(input_values)/len(input_values) + if -0.012 < self.set_point < 0.012: + min_q = -0.012 + max_q = -min_q + self.set_point = np.where((self.set_point >= 0) & (self.set_point <= max_q), max_q, self.set_point) + self.set_point = np.where((self.set_point >= min_q) & (self.set_point < 0), min_q, self.set_point) + logger.warning(f"Power factor calculation with set_point 0 not possible with BSC {self.index}.\n" + f"Maximizing Q output by clipping set_point to {self.set_point}\n") + q_set = self.reactance * sum(p_input_values)/len(p_input_values) * (np.tan(np.arccos(self.set_point))) + self.diff = q_set - sum(input_values)/len(input_values) self.converged = np.all(np.abs(self.diff) v_max_pu[i]: + logger.warning(f'Controller {self.index}: Generator {self.output_element} {self.output_element_index[i]}' + f' exceeded maximum Voltage at bus {self.bus_idx_dist[i]}: {vm_pu[i]} > {v_max_pu[i]}\n') + elif vm_pu[i] < v_min_pu[i]: + logger.warning(f'Controller {self.index}: Generator {self.output_element} {self.output_element_index[i]}' + f' exceeded maximum Voltage at bus {self.bus_idx_dist[i]}: {vm_pu[i]} < {v_min_pu[i]}\n') + if len(self.min_q_mvar) == len(self.max_q_mvar) == len(self.output_element_in_service): + + exceed_limit_min = np.flatnonzero(np.atleast_1d(self.output_values)[np.atleast_1d(self.output_element_in_service)] + < np.atleast_1d(self.min_q_mvar)[np.atleast_1d(self.output_element_in_service)]) + exceed_limit_max = np.flatnonzero(np.atleast_1d(self.output_values)[np.atleast_1d(self.output_element_in_service)] + > np.atleast_1d(self.max_q_mvar)[np.atleast_1d(self.output_element_in_service)]) + for i in exceed_limit_max: + logger.warning(f'Controller {self.index} converged but the Reactive Power Output for Element ' + f'{self.output_element}: {self.output_element_index[i]} exceeds upper limits: {self.output_values[i]} > {self.max_q_mvar[i]}\n') + for i in exceed_limit_min: + logger.warning(f'Controller {self.index} converged but the Reactive Power Output for Element ' + f'{self.output_element}: {self.output_element_index[i]} falls short of lower limit: {self.output_values[i]} < {self.min_q_mvar[i]}\n') + else: + logger.warning(f'Mismatching number of minimum and maximum limits of the output elements in Controller {self.index}.' + f'Possible exceedance of output element {self.output_element}' + f' {str(np.array(self.output_element_index))} limits\n') if self.converged and net.controller['object'].apply( - lambda obj: getattr(obj, 'controller_idx', None) == self.index and not getattr(obj, 'converged', True)).any(): + lambda obj: getattr(obj, 'controller_idx', None) == self.index and not getattr(obj, 'converged', True)).any()\ + or getattr(self, 'applied_distribution', False) is False: #force appliance of distribution self.converged = False return self.converged @@ -525,8 +678,69 @@ def control_step(self, net): self._binary_search_control_step(net) def _binary_search_control_step(self, net): - if not self.in_service: + from pandapower import runpp #to avoid circular imports, import here + generators_not_at_limit = None + if not self.in_service: #redundant return + ### Distribution corrections, no warnings due to q_limit incompatibility### + if getattr(self, 'output_values_distribution', None) is not None: #catch errors + if (self.distribution_method == ControlModusEnum.rel_P or + self.distribution_method == ControlModusEnum.rel_rated_S or + self.distribution_method == ControlModusEnum.max_Q): + self.output_values_distribution, output_distribution_values_in_service = None, None + elif self.distribution_method == ControlModusEnum.imported or self.distribution_method == ControlModusEnum.set_Q: + if len(self.output_values_distribution) < len(np.array(self.output_element_in_service)):#check if enough values + equal_val = 1 / (len(np.array(self.output_element_in_service) - len(self.output_values_distribution))) + logger.warning( + f'Mismatched lengths of output elements {self.output_element} and output_values_distribution' + f'{len(np.array(self.output_element_in_service))} > {len(self.output_values_distribution)}' + f' in Controller {self.index}.\n Appending values {equal_val} \n') + self.output_values_distribution = (np.append(self.output_values_distribution, [equal_val] * + (len(self.output_element_in_service) - len(self.output_values_distribution)))) + output_element_in_service = np.array(self.output_element_in_service)#ruggedizing code for wrong inputs + output_element_in_service.resize((len(np.array(self.output_values_distribution)),), refcheck=False) + output_distribution_values_in_service = (np.array(self.output_values_distribution) + [np.array(output_element_in_service)]) ###only distributing between active output elements + elif self.distribution_method == ControlModusEnum.rel_V_pu: + if ((np.array(self.output_values_distribution).ndim > 1 and any(len(element) != 3 for element in self.output_values_distribution)) + or (np.array(self.output_values_distribution).ndim == 1 and len(self.output_values_distribution) != 3)): + logger.warning(f"Insufficient values in distribution rel_V_pu {self.output_values_distribution} In " + f"Controller {self.index}. Using set point 1 pu and min/max 0.9/1.1 pu\n") + equal_array = [1, 0.9, 1.1] + self.output_values_distribution = self.output_values_distribution = np.tile(equal_array, + (len(np.array(self.output_element_in_service)), 1))[0] + output_distribution_values = np.array(self.output_values_distribution) # forming limit arrays + self.v_set_point_pu = np.atleast_2d(output_distribution_values)[:, 0] + self.v_min_pu = np.atleast_2d(output_distribution_values)[:, 1] + self.v_max_pu = np.atleast_2d(output_distribution_values)[:, 2] + output_distribution_values_in_service = None + else: output_distribution_values_in_service, self.output_values_distribution = None, None + elif getattr(self, 'output_values_distribution', None) is None: + if self.distribution_method == ControlModusEnum.set_Q or self.distribution_method == ControlModusEnum.imported: + if self.distribution_method == ControlModusEnum.set_Q: + logger.warning(f'Reactive Power Distribution method "set_Q" needs values given to output_values_distribution ' + f'in Controller {self.index}. Distributing the reactive power equally between all available output elements.\n') + else:#self.distribution_method == 'imported' + logger.warning(f"Something went wrong while importing output distribution values in Controller" + f" {self.index}. Distributing the reactive power equally between all available output elements.\n") + equal = 1 / sum(np.array(self.output_element_in_service)) + self.output_values_distribution = np.full(len(np.array(self.output_element_in_service)), equal) + output_distribution_values_in_service = self.output_values_distribution[np.array(self.output_element_in_service)] #only distributing between active output elements + elif self.distribution_method == ControlModusEnum.rel_V_pu: + logger.warning(f"Missing values for output distribution values 'rel_V_pu in Controller {self.index}. " + f"Using set point 1 pu and min/max 0.9/1.1 pu\n ") + equal_array = [1, 0.9, 1.1] + self.output_values_distribution = self.output_values_distribution = np.tile(equal_array, + (len(np.array(self.output_element_in_service)), 1))[0]#new vals + output_distribution_values = np.atleast_2d(self.output_values_distribution) # forming limit arrays + self.v_set_point_pu = output_distribution_values[:, 0] + self.v_min_pu = output_distribution_values[:, 1] + self.v_max_pu = output_distribution_values[:, 2] + output_distribution_values_in_service = None + else: self.output_values_distribution, output_distribution_values_in_service = None, None#rel_rated_S and rel_P, max_Q + else: raise UserWarning(f"Output_values_distribution in Controller {self.index} is {self.output_values_distribution}") + + ###calculate output values### if self.output_values_old is None: # first step # is ok that values are set for all stations even though they are out of service or not adjustable --> following step will correct this self.output_values_old, self.output_values = ( @@ -534,29 +748,214 @@ def _binary_search_control_step(self, net): np.atleast_1d(self.output_values)[self.output_element_in_service] + 1e-3) positions_not_adjustable = [i for i, val in enumerate(self.output_adjustable) if not val] for i in positions_not_adjustable: - if self.output_values_distribution[i]==0 or not self.output_element_in_service[i] : + if np.atleast_1d(self.output_values_distribution)[i]==0 or not self.output_element_in_service[i] : self.output_values[i] = 0 else: continue - else: #second step + else:#second step + self.applied_distribution = True step_diff = self.diff - self.diff_old x = self.output_values - self.diff * (self.output_values - self.output_values_old) / np.where( - step_diff == 0, 1e-6, step_diff) # converging - - rel_cap = 2 - cap = rel_cap * (np.abs(self.output_values) + 1e-6) + 50 # add epsilon to avoid zero; absolute cap +50 MVAr - - delta = x - self.output_values - delta = np.clip(delta, -cap, +cap) - - x = self.output_values + delta - - if not all(self.output_adjustable) and net._options.get('enforce_q_lims', False): - positions_adjustable = [i for i, val in enumerate(self.output_adjustable) if val] # gives which is/are adjustable - positions_not_adjustable = [i for i, val in enumerate(self.output_adjustable) if not val] # can be one or multiple ## gives which is/are not adjustable anymore - - sum_adjustable = sum(x) - sum(self.output_values[positions_not_adjustable]) # stations that are still adjustable, rest of the power must be achieved - x[positions_adjustable] = sum_adjustable * self.output_values_distribution[positions_adjustable] + step_diff == 0, 1e-6, step_diff) #converging + if any((abs(x) - abs(2 * self.output_values)) > 100): #catching overshoots for calculation, another check before writing into the net + x[np.nonzero((abs(x) > abs(100 - abs(self.output_values))))] = np.sign(x[np.nonzero((abs(x) - + abs(2 * self.output_values)) > 100)]) * 100 + ###calculate the distribution of the output values + if self.distribution_method == ControlModusEnum.imported: #when importing net from PF for backwards compatibility + distribution = output_distribution_values_in_service + + elif self.distribution_method == ControlModusEnum.rel_P: #proportional to the dispatch active power + dispatched_active_power = read_from_net(net, self.output_element, self.output_element_index, 'p_mw', 'auto') + dispatched_active_power = np.atleast_1d(dispatched_active_power)[np.array(self.output_element_in_service)] + distribution = dispatched_active_power/sum(dispatched_active_power) + + elif self.distribution_method == ControlModusEnum.rel_rated_S: #proportional to the rated apparent power + if not hasattr(self, 'rel_rated_S_warned'): + self.rel_rated_S_warned = True + logger.warning(f'The standard type attribute containing the rated apparent power for' + f' {self.output_element} is not correctly implemented yet (BSC {self.index}).') + try: + s_rated_mva = np.array(net.sgen.loc[self.output_element_index, 'sn_mva']) #todo correct attribute? + distribution = s_rated_mva + nan_index = np.isnan(distribution) + distribution[nan_index] = 50 + if any(np.atleast_1d(nan_index)): + logger.warning(f'{self.output_element} at index {np.atleast_1d(self.output_element_index)[nan_index]}' + f' in Controller {self.index} has no specified rated apparent power, assuming 50 MVA\n') + if not all(isinstance(n, numbers.Number) for n in np.atleast_1d(distribution)): + logger.warning(f'{self.output_element} in Controller {self.index} has no' + f' specified rated apparent power, assuming 50 MVA\n') + distribution = np.full(np.sum(self.output_element_in_service), 50) + + except KeyError: + logger.warning(f'{self.output_element} in Controller {self.index} has no defined standard type ' + f'or specified rated apparent power, assuming 50 MVA\n') + distribution = np.full(np.sum(self.output_element_in_service), 50) + + elif self.distribution_method == ControlModusEnum.set_Q: #individually set Q distribution + distribution = output_distribution_values_in_service + + elif self.distribution_method == ControlModusEnum.max_Q: # Maximise Reactive Reserve + #only consider active sgens who are within their limits + generators_not_at_limit = (x <= np.array(self.max_q_mvar)[self.output_element_in_service]) \ + & (x >= np.array(self.min_q_mvar)[self.output_element_in_service]) + #get Q for sgens + total_distributable_q = ((np.sum(np.array(x)[generators_not_at_limit]) - + np.sum(np.array(self.min_q_mvar)[self.output_element_in_service][generators_not_at_limit])) / + (np.sum(np.array(self.max_q_mvar)[self.output_element_in_service][generators_not_at_limit]) - + np.sum(np.array(x)[generators_not_at_limit]))) + if np.isnan(total_distributable_q): #no distributable Q + total_distributable_q = 0 + #calculate the qs for generators to be considered from total distributable Q + q_max_q = ((total_distributable_q * np.array(self.max_q_mvar)[self.output_element_in_service][generators_not_at_limit] + + np.array(self.min_q_mvar)[self.output_element_in_service][generators_not_at_limit]) / (1 + total_distributable_q)) + ### output gens not to be considered run at max capacity, all others on calculated Q + #output values must be equal in length to distribution + if len(np.atleast_1d(q_max_q)) != len(np.atleast_1d(self.output_element_in_service)): + counter_values = 0 + distribution = np.ones(len(np.atleast_1d(self.output_element_in_service))) #initializing the distribution for correction + for i in range(len(np.atleast_1d(generators_not_at_limit))): + if np.atleast_1d(generators_not_at_limit)[i]:#calculated Q + distribution[i] = np.atleast_1d(q_max_q)[counter_values] + counter_values += 1 + elif not np.atleast_1d(generators_not_at_limit)[i]:#min or max Q + distribution[i] = np.atleast_1d(self.max_q_mvar)[i] if (np.atleast_1d(x)[i] + >= 0) else np.atleast_1d(self.min_q_mvar)[i] + else: + distribution = q_max_q + + elif self.distribution_method == ControlModusEnum.rel_V_pu: # Voltage set point Adaptation + if len(np.atleast_1d(self.output_element_in_service)) > 1 or sum( + np.atleast_1d(self.output_element_in_service)) > 1:#only for multiple elements + ###check for multiple output elements who influence the busbar### + if (len(net.sgen.bus) != len(set(net.sgen.bus)) or len(net.gen.bus) != len(set(net.gen.bus)) or + set(net.sgen.bus).intersection(set(net.gen.bus))): + busbar_gen_sgen = list(set(net.sgen.bus).intersection(set(net.gen.bus))) #gens and sgens + busbar_gen_sgen = False if len(busbar_gen_sgen) == 0 else busbar_gen_sgen #False if array empty + busbar_sgen_sgen = list(np.where(np.bincount(np.array(net.sgen['bus'])) > 1)[0]) #sgens and sgens + busbar_sgen_sgen = False if len(busbar_sgen_sgen) == 0 else busbar_sgen_sgen #False if array empty + busbar_gen_gen = list(np.where(np.bincount(np.array(net.gen['bus'])) > 1)[0]) #gens and gens + busbar_gen_gen = False if len(busbar_gen_gen) == 0 else busbar_gen_gen #False if array empty + busbar_all = [busbar_gen_gen, busbar_sgen_sgen, busbar_gen_sgen] #merge all indices + if any(busbar_all):#not all busbar with multiple output elements? + busbar_all = np.array([x for x in busbar_all if x != False][0]) #delete bools + index_sgen = np.where(np.isin(net.sgen['bus'], busbar_all))[0] #indices of sgens + index_sgen = [index for i, index in enumerate(index_sgen) if list(net.sgen['in_service'])[i]]#check for service + index_gen = np.where(np.isin(net.gen['bus'], busbar_all))[0] #indices of gens + index_gen = [index for i, index in enumerate(index_gen) if list(net.gen['in_service'])[i]] #check for service + if len(index_sgen) + len(index_gen) > 1: + items_sgen, items_gen, busbar = "Check Sgen:\n", "Check gen:\n", ""#initiate strings + for x in index_sgen: items_sgen += f"{net.sgen.name[x]} with index {x}\n"#append sgen names + for x in index_gen: items_gen += f"{net.gen.name[x]} with index {x}\n" #append gen names + for x in busbar_all: busbar += f"{net.bus.name[x]} with index {x}; " #append busbar names + raise NotImplementedError(f"Multiple Output Elements are controlling the voltage at Busbar(s) {busbar} \n" + f"Voltage set point adaptation for Controller {self.index} is not possible.\n" + f"{items_sgen}{items_gen}") + + if len(self.bus_idx_dist)==0 and (self.output_element == 'sgen' or self.output_element == 'gen'): + if self.output_element == 'sgen': #gens are ignored + self.bus_idx_dist = np.atleast_1d(net.sgen.bus[self.output_element_index])[self.output_element_in_service]#distributing output elements + else: + raise UserWarning(f"Output Element {self.output_element} in Controller {self.index} is not supported") + + ###calculate the voltage set points + v_min_pu = np.atleast_1d(self.v_min_pu)[self.output_element_in_service] #adapt min/max and set point for active elements + v_max_pu = np.atleast_1d(self.v_max_pu)[self.output_element_in_service] + v_set_point_pu = np.atleast_1d(self.v_set_point_pu)[self.output_element_in_service] + vm_pu = read_from_net(net, "res_bus", self.bus_idx_dist, "vm_pu", 'auto') #init + sum_vm_pu = np.sum(vm_pu) #total + bounds = [(L, U) for L, U in zip(v_min_pu, v_max_pu)] #limits + result = minimize( + lambda v: np.sum((v - v_set_point_pu) ** 2), #minimize deviation from set point + vm_pu, # Initial guess + method='SLSQP', # Optimization method trust-constr or SLSQP + bounds=bounds, # Soft limits as bounds + constraints=[ + {'type': 'eq', 'fun': lambda v: np.sum(v) - sum_vm_pu}, # Load constraint + {'type': 'ineq', 'fun': lambda v: v - v_min_pu}, # Lower soft limits + {'type': 'ineq', 'fun': lambda v: v_max_pu - v} # Upper soft limits + ], + options={'maxiter': 1000, 'ftol': 1e-9}) #more iterations, small tolerance 'ftol': 1e-9 only with SLSQP + voltage = result.x #getting the results of minimize function + ### convert sgens to gens, write voltage to gens, read Q and adapt distribution + in_service_indices = np.array(self.output_element_index)[self.output_element_in_service]#actual indices + counter = 0 + for i in in_service_indices: + if self.output_element == 'sgen': #get all sgens, convert to gens + create_gen(net = net, + bus = net.sgen.at[i, 'bus'], + p_mw = net.sgen.at[i, 'p_mw'], + vm_pu = voltage[counter], # Voltage array + in_service = net.sgen.at[i, 'in_service'], + sn_mva = net.sgen.at[i, 'sn_mva'] if 'sn_mva' in net.sgen.columns else None, + scaling = net.sgen.at[i, 'scaling'] if 'scaling' in net.sgen.columns else None, + min_p_mw = net.sgen.at[i, 'min_p_mw'] if 'min_p_mw' in net.sgen.columns else 0, #for value other then inf min and max must be given + max_p_mw = net.sgen.at[i, 'max_p_mw'] if 'max_p_mw' in net.sgen.columns else 9999, + min_q_mvar = net.sgen.at[i, 'min_q_mvar'] if 'min_q_mvar' in net.sgen.columns and np.isfinite(net.sgen.at[i, 'min_q_mvar']) else -20, + max_q_mvar = net.sgen.at[i, 'max_q_mvar'] if 'max_q_mvar' in net.sgen.columns and np.isfinite(net.sgen.at[i, 'max_q_mvar']) else 20, + description = net.sgen.at[i, 'description'] if 'description' in net.sgen.columns else None, + equipment = net.sgen.at[i, 'equipment'] if 'equipment' in net.sgen.columns else None, + geo = net.sgen.at[i, 'geo'] if 'geo' in net.sgen.columns else None, + current_source = net.sgen.at[ + i, 'current_source'] if 'current_source' in net.sgen.columns else None, + name = f'temp_gen_{counter}')#type 'GEN' + net.sgen.at[i, 'in_service'] = False #disable sgens + counter += 1 + index = np.array([]) + for i in net.gen.index: #get index of created gens + if net.gen.loc[i, 'name'].startswith("temp_gen_"): + index = np.append(index, i) + index = index[0] if self.write_flag == 'single_index' else index + write_to_net(net, 'gen', index,'vm_pu', voltage, self.write_flag) #write V to net + runpp(net, run_control = False, enforce_q_lims=False) #run net + distribution = np.array(net.res_gen.loc[index, 'q_mvar']) #read Q from net + net.gen.drop(index=index, inplace=True) #delete created gens + net.sgen.loc[np.array(self.output_element_index)[self.output_element_in_service], 'in_service'] = True #reactivate sgens + else: distribution = np.array([1]) #distribution is one for one active output element + + else: #unrecognizable output values distribution, using set_Q + if (((isinstance(self.distribution_method, list) or isinstance(self.distribution_method, np.ndarray)) + and all(isinstance(x, numbers.Number) for x in self.distribution_method)) or + isinstance(self.distribution_method, numbers.Number)):#numbers + logger.warning(f'Controller {self.index}: Distribution_method must be string from available methods' + f' (rel_P, rel_rated_S, set_Q, max_Q or rel_V_pu). Using provided values with method set_Q\n') + self.output_values_distribution = np.array(self.distribution_method) + self.distribution_method = ControlModusEnum.set_Q + distribution = self.output_values_distribution[np.array(self.output_element_in_service)] + else: + raise NotImplementedError(f"Controller {self.index}: Reactive power distribution method {self.distribution_method}" + f" not implemented available methods are (rel_P, rel_rated_S, set_Q, max_Q, rel_V_pu).") + if self.output_element != 'gen': + if self.distribution_method == ControlModusEnum.max_Q: #max_Q and voltage gives the correct Qs for the gens + if sum(np.atleast_1d(generators_not_at_limit)) == 0: + values = (sum(x) - sum(distribution)) / len(np.atleast_1d(distribution)) + distribution = np.atleast_1d(distribution) + values #todo if respected Q limits only generators_not_at_limit, might not converge + else: + values = (sum(x) - sum(distribution)) / len(np.atleast_1d(distribution)[generators_not_at_limit]) + np.atleast_1d(distribution)[generators_not_at_limit] += values + x = distribution + #Voltage set point adaption gives correct Qs but needs convergence + elif (self.distribution_method == ControlModusEnum.rel_V_pu and (sum(np.atleast_1d(self.output_element_in_service)) > 1 + or sum(np.atleast_1d(self.output_element_in_service)) > 1)): #only when multiple elements + x = distribution + (sum(x) - sum(distribution)) / len(distribution) + else: #percentile calculation + distribution = np.array(distribution, dtype=np.float64) / np.sum(abs(distribution)) # normalization + if (any(abs(x) > 3 for x in np.atleast_1d(distribution)) or # catching distributions out of bounds + len(np.atleast_1d(distribution)) != sum( + np.atleast_1d(self.output_element_in_service))): # catching wrong distributions + equal = 1 / sum(self.output_element_in_service) + distribution = np.full(np.sum(np.array(self.output_element_in_service)), equal) + x = x * distribution if isinstance(x, numbers.Number) else sum(x) * distribution #add distribution to Q values + ###enforce hard Q limits### + if not all(self.output_adjustable) and net._options['enforce_q_lims']: + positions_adjustable = [i for i, val in enumerate(self.output_adjustable) if + val] # gives which is/are adjustable + positions_not_adjustable = [i for i, val in enumerate(self.output_adjustable) if + not val] # can be one or multiple ## gives which is/are not adjustable anymore + + sum_adjustable = sum(x) - sum(self.output_values[ + positions_not_adjustable]) # stations that are still adjustable, rest of the power must be achieved + x[positions_adjustable] = sum_adjustable * self.distribution_method[positions_adjustable] for i in positions_not_adjustable: if self.output_element_in_service[i]: @@ -565,14 +964,13 @@ def _binary_search_control_step(self, net): x[i] = 0 # reset value to 0 because station is out of service else: - x = sum(x) * self.output_values_distribution + if self.distribution_method != ControlModusEnum.max_Q and self.distribution_method != ControlModusEnum.rel_V_pu: + x = sum(np.atleast_1d(x)) * distribution if self.output_adjustable is not None and net._options.get('enforce_q_lims', False): # none if output element is a shunt if isinstance(x, np.ndarray) and len(x)>1: self._update_min_max_q_mvar(net) - # check if x is a list, multiple assets in station controller - # check if a limit is reached, consider element in service reached_min_qmvar = [val <= min_val and in_service for val, min_val, in_service @@ -631,19 +1029,21 @@ def _binary_search_control_step(self, net): self.output_values_old = self.output_values if reached_min_qmvar or reached_max_qmvar: + logging.info('Station %s controlled by %s reached a reactive power limit.' % ( + self.output_element_index, self.name)) + self.output_adjustable = np.array([False], dtype=np.bool) logging.info( f"Station {self.output_element_index} controlled by {self.name} reached a reactive power " f"limit." ) self.output_adjustable = np.array([False], dtype=bool) if reached_min_qmvar: - self.output_values = self.output_min_q_mvar + x = self.output_min_q_mvar elif reached_max_qmvar: - self.output_values = self.output_max_q_mvar - else: - self.output_values = x - else: - self.output_values_old, self.output_values = self.output_values, x + x = self.output_max_q_mvar + x = np.sign(x) * (np.where(abs(abs(x) - abs(self.output_values)) > 84, 84, + abs(x))) # catching distributions out of bounds, 84 seems to be the maximum + self.output_values_old, self.output_values = self.output_values, x ### write new set of Q values to output elements### output_element_index = (list(np.atleast_1d(self.output_element_index)[self.output_element_in_service])[0] if self.write_flag == 'single_index' else list(np.array(self.output_element_index)[self.output_element_in_service])) #ruggedizing code @@ -654,7 +1054,9 @@ def _binary_search_control_step(self, net): def _normalize_distribution_in_service(self, initial_pf_distribution=None): # normalize distribution depending on in service of stations if initial_pf_distribution is None: - distribution = self.output_values_distribution + if isinstance(self.output_values_distribution, str) or getattr(self, 'output_values_distribution', None) is None: + distribution = np.ones(len(np.atleast_1d(self.output_element_in_service)))/len(np.atleast_1d(self.output_element_in_service)) + else: distribution = self.output_values_distribution else: distribution = initial_pf_distribution @@ -663,30 +1065,32 @@ def _normalize_distribution_in_service(self, initial_pf_distribution=None): self.output_values_distribution = [0 if not in_service else value for in_service, value in zip(np.atleast_1d(self.output_element_in_service), np.atleast_1d(distribution))] total = np.sum(self.output_values_distribution) - if total > 0: # To avoid division by zero + if total is not None and total > 0: # To avoid division by zero self.output_values_distribution = np.array(self.output_values_distribution, dtype=np.float64) / total else: self.output_values_distribution = np.zeros_like(self.output_values_distribution, dtype=np.float64) def _update_min_max_q_mvar(self, net): if 'min_q_mvar' in net[self.output_element].columns: - if not np.all(np.isnan(net[self.output_element].loc[self.output_element_index, 'id_q_capability_characteristic'].values)): + if not np.all(np.isnan(pd.array(pd.Series(net[self.output_element].loc[self.output_element_index, 'id_q_capability_characteristic']).values, dtype="Int64"))): qmin, _ = get_min_max_q_mvar_from_characteristics_object(net, self.output_element, self.output_element_index) self.output_min_q_mvar = np.nan_to_num(qmin, nan=-np.inf) net[self.output_element].loc[self.output_element_index, 'min_q_mvar'] = self.output_min_q_mvar else: - self.output_min_q_mvar = np.nan_to_num(net[self.output_element].loc[self.output_element_index, 'min_q_mvar'].values, nan=-np.inf) + self.output_min_q_mvar = np.nan_to_num(pd.Series( + net[self.output_element].loc[self.output_element_index, 'min_q_mvar']).values, nan=-np.inf) net[self.output_element].loc[self.output_element_index, 'min_q_mvar'] = self.output_min_q_mvar else: self.output_min_q_mvar = list(np.array([-np.inf]*len(self.output_element_index), dtype=np.float64)) if 'max_q_mvar' in net[self.output_element].columns: - if not np.all(np.isnan(net[self.output_element].loc[self.output_element_index, 'id_q_capability_characteristic'].values)): + if not np.all(np.isnan(pd.array(pd.Series(net[self.output_element].loc[self.output_element_index, 'id_q_capability_characteristic']).values, dtype="Int64"))): _, qmax = get_min_max_q_mvar_from_characteristics_object(net, self.output_element, self.output_element_index) self.output_max_q_mvar = np.nan_to_num(qmax, nan=np.inf) net[self.output_element].loc[self.output_element_index, 'max_q_mvar'] = self.output_max_q_mvar else: - self.output_max_q_mvar = np.nan_to_num(net[self.output_element].loc[self.output_element_index, 'max_q_mvar'].values, nan=np.inf) + self.output_max_q_mvar = np.nan_to_num(pd.Series( + net[self.output_element].loc[self.output_element_index, 'max_q_mvar']).values, nan=np.inf) net[self.output_element].loc[self.output_element_index, 'max_q_mvar'] = self.output_max_q_mvar else: self.output_max_q_mvar = list(np.array([np.inf]*len(self.output_element_index), dtype=np.float64)) @@ -788,11 +1192,11 @@ def check_control_modus_and_values(self, net): "Use 'control_modus' ('Q_ctrl', 'V_ctrl', etc.) instead.") self._deprecation_warned = True ###catching old implementation - if isinstance(self.control_modus, bool) and self.control_modus: + if isinstance(self.control_modus, bool) and self.control_modus == True: self.control_modus = ControlModusEnum.v_ctrl_q_droop logger.warning(f"Deprecated Control Modus in Controller {self.index}, using V_ctrl with Q droop from available types" f" 'Q_ctrl' or 'V_ctrl'\n") - elif isinstance(self.control_modus, bool) and not self.control_modus: + elif isinstance(self.control_modus, bool) and self.control_modus == False: self.control_modus = ControlModusEnum.q_ctrl_v_droop logger.warning(f"Deprecated Control Modus in Controller {self.index}, using Q_ctrl with V droop from available types" f" 'Q_ctrl' or 'V_ctrl'\n") @@ -803,7 +1207,7 @@ def check_control_modus_and_values(self, net): logger.warning(f"Control_modus {self.control_modus} not recognized, using 'Q_ctrl_V_droop' from available" f" types 'Q_ctrl' and 'V_ctrl'\n") self.control_modus = ControlModusEnum.q_ctrl_v_droop - if self.control_modus in ControlModusEnum.pf_modes(): #legacy ambiguous + if self.control_modus in ControlModusEnum.pf_modes():#legacy ambiguous raise UserWarning(f"Power Factor Droop Control not implemented (in Controller {self.index}).'\n") elif self.control_modus in ControlModusEnum.v_modes() and self.control_modus not in ControlModusEnum.droop_modes(): logger.warning(f"Power Factor Droop Control in Controller {self.index}: Control modus is ambivalent, using" @@ -814,7 +1218,7 @@ def check_control_modus_and_values(self, net): f" 'Q_ctrl with V droop' from available modi.\n") self.control_modus = ControlModusEnum.q_ctrl_v_droop if (self.control_modus in ControlModusEnum.v_modes() and not - isinstance(getattr(self, 'vm_set_pu', None), numbers.Number)): #catching missing voltage set point + isinstance(getattr(self, 'vm_set_pu', None), numbers.Number)):#catching missing voltage set point logger.warning(f"vm_set_pu must be a number, not " f"{isinstance(getattr(self, 'vm_set_pu', None), numbers.Number)} in Controller {self.index}, " f"using 1 as new setpoint") @@ -969,7 +1373,6 @@ def control_step(self, net): def _Vdroopcontrol_step(self, net): self.vm_pu_old = self.vm_pu self.vm_pu = read_from_net(net, "res_bus", self.bus_idx, "vm_pu", self.read_flag) - input_element = net.controller.at[self.controller_idx, "object"].input_element input_element_index = net.controller.at[self.controller_idx, "object"].input_element_index input_variable = net.controller.at[self.controller_idx, "object"].input_variable @@ -994,6 +1397,12 @@ class ControlModusEnum(Enum): PF_ctrl_ind = "PF_ctrl_ind" PF_ctrl_cap = "PF_ctrl_cap" tan_phi_ctrl = "tan_phi_ctrl" + rel_P = "rel_P" + rel_rated_S = "rel_rated_S" + max_Q = "max_Q" + rel_V_pu = "rel_V_pu" + set_Q = "set_Q" + imported = 'imported' @classmethod def pf_modes(cls): @@ -1015,8 +1424,9 @@ def v_modes(cls): def q_modes(cls): return { cls.q_ctrl, - cls.q_ctrl_v_droop + cls.q_ctrl_v_droop, } + @classmethod def droop_modes(cls): return { diff --git a/pandapower/convert_format.py b/pandapower/convert_format.py index 7b85395624..80ff19fede 100644 --- a/pandapower/convert_format.py +++ b/pandapower/convert_format.py @@ -39,6 +39,7 @@ def convert_format(net, elements_to_deserialize=None, drop_invalid_geodata=False _add_missing_columns(net, elements_to_deserialize) _create_seperate_cost_tables(net, elements_to_deserialize) if Version(str(net.format_version)) < Version("3.1.0"): + _update_station_controller(net) _convert_q_capability_characteristic(net) if Version("3.0.0") <= Version(str(net.format_version)) < Version("3.1.3"): _replace_invalid_data(net, elements_to_deserialize, drop_invalid_geodata) @@ -633,7 +634,7 @@ def _update_object_attributes(obj): if "output_adjustable" not in obj.__dict__: obj.__dict__["output_adjustable"] = np.array([ False if not distribution else service for distribution, service in zip( - obj.output_values_distribution, obj.output_element_in_service + obj.output_values_distribution or [], obj.output_element_in_service ) ], dtype=bool) if "output_max_q_mvar" not in obj.__dict__: @@ -691,6 +692,21 @@ def _update_characteristics(net, elements_to_deserialize): c.kwargs = {"kind": c.__dict__.pop("kind"), "bounds_error": False, "fill_value": c.__dict__.pop("fill_value")} +def _update_station_controller(net): + # update net to be able to run in finalized station controller + for controller_attr in net.controller.object.values: + if not hasattr(controller_attr, "counter_warning") and controller_attr.__class__.__name__ == 'BinarySearchControl': + controller_attr.counter_warning = False + if not hasattr(controller_attr, "overwrite_convergence") and controller_attr.__class__.__name__ == 'BinarySearchControl': + controller_attr.overwrite_convergence = False + if not hasattr(controller_attr, "distribution_method") and controller_attr.__class__.__name__ == 'BinarySearchControl': + controller_attr.distribution_method = None + if not hasattr(controller_attr, "min_q_mvar") and controller_attr.__class__.__name__ == 'BinarySearchControl': + controller_attr.min_q_mvar = [] + if not hasattr(controller_attr, "max_q_mvar") and controller_attr.__class__.__name__ == 'BinarySearchControl': + controller_attr.max_q_mvar = [] + + def convert_trafo_pst_logic(net): """ Converts trafo and trafo3w phase shifter logic to version 3.0 or later diff --git a/pandapower/converter/powerfactory/pp_import_functions.py b/pandapower/converter/powerfactory/pp_import_functions.py index d47ee30423..f35ba3da93 100644 --- a/pandapower/converter/powerfactory/pp_import_functions.py +++ b/pandapower/converter/powerfactory/pp_import_functions.py @@ -25,7 +25,7 @@ from pandapower.std_types import add_zero_impedance_parameters, std_type_exists, create_std_type, available_std_types, \ load_std_type from pandapower.toolbox.grid_modification import set_isolated_areas_out_of_service, drop_inactive_elements, drop_buses -from pandapower.topology import create_nxgraph, calc_distance_to_bus +from pandapower.topology import create_nxgraph from pandapower.control.util.auxiliary import create_q_capability_characteristics_object, \ get_min_max_q_mvar_from_characteristics_object from pandapower.control.util.characteristic import SplineCharacteristic @@ -323,7 +323,7 @@ def from_pf( include_impedances=True, nogobuses=None, notravbuses=None, multi=True, calc_branch_impedances=False, branch_impedance_unit='ohm', include_out_of_service=True) for n, stactrl in enumerate(dict_net['ElmStactrl'], 1): - create_stactrl(net=net, item=stactrl, top=top, top_all=top_all) + create_stactrl(net=net, item=stactrl, top=top, top_all=top_all, **dict_net) if n > 0: logger.info('imported %d station controllers' % n) remove_folder_of_std_types(net) @@ -2199,6 +2199,10 @@ def create_sgen_genstat(net, item, pv_as_slack, pf_variable_p_gen, dict_net, is_ try: params.vm_pu = item.GetAttribute('m:u:bus1') except AttributeError: + print("Exception vm_pu not available! Outserv: ") + print(item.GetFullName()) + print(item.outserv) + print(pstac.outserv) if not pstac.uset_mode: params.vm_pu = pstac.usetp else: @@ -2217,7 +2221,7 @@ def create_sgen_genstat(net, item, pv_as_slack, pf_variable_p_gen, dict_net, is_ output_element="gen", output_variable="vm_pu", output_element_index=[next_index], output_element_in_service=[not item.outserv], - output_values_distribution=[1], + distribution_method=[1], input_element="res_gen", input_variable="q_mvar", input_inverted=[False], input_element_index=[next_index], set_point=item.usetp, control_modus = "V_ctrl_Q_droop_local", bus_idx=bus, tol=1e-5) @@ -2240,7 +2244,7 @@ def create_sgen_genstat(net, item, pv_as_slack, pf_variable_p_gen, dict_net, is_ sg = create_asymmetric_sgen(net, **params) element = "asymmetric_sgen" logger.debug('created asymmetric sgen at index <%d>' % sg) - else: # Case 4: map to symmetric sgen + else: # Case 4: map to symmetric sgen if pstac is not None and not pstac.outserv and export_ctrl: try: params['q_mvar'] = item.GetAttribute('m:Q:bus1') @@ -2467,11 +2471,11 @@ def create_sgen_sym(net, item, pv_as_slack, pf_variable_p_gen, dict_net, export_ # None if station controller is not available if pstac is not None and not pstac.outserv and export_ctrl: if pstac.i_droop: - av_mode = 'constq' + av_mode = 'constq'#'constq' else: i_ctrl = pstac.i_ctrl if i_ctrl == 0: - av_mode = 'constq' + av_mode = 'constq'#'constq' elif i_ctrl == 1: av_mode = 'constq' elif i_ctrl == 2: @@ -2487,6 +2491,10 @@ def create_sgen_sym(net, item, pv_as_slack, pf_variable_p_gen, dict_net, export_ try: vm_pu = item.GetAttribute('m:u:bus1') except AttributeError: + print("Exception vm_pu not available! Outserv: ") + print(item.GetFullName()) + print(item.outserv) + print(pstac.outserv) if not pstac.uset_mode: vm_pu = pstac.usetp else: @@ -2609,6 +2617,48 @@ def create_sgen_asm(net, item, pf_variable_p_gen, dict_net, export_ctrl): elif i_ctrl == 3: av_mode = 'constq' #tanphi + logger.debug('av_mode: %s' % av_mode) + if av_mode == 'constv': + logger.debug('creating asym %s as gen' % item.loc_name) + vm_pu = item.usetp + if pstac is not None and not pstac.outserv and export_ctrl: + try: + vm_pu = item.GetAttribute('m:u:bus1') + except AttributeError: + if not pstac.uset_mode: + vm_pu = pstac.usetp + else: + vm_pu = pstac.cpCtrlNode.vtarget # Bus target voltage + #if item.iqtype == 1: + # sid = create_gen(net, bus=bus, p_mw=item.pgini * multiplier, vm_pu=vm_pu, + # min_q_mvar=type.Q_min, max_q_mvar=type.Q_max, + # min_p_mw=item.Pmin_uc, max_p_mw=item.Pmax_uc, + # name=item.loc_name, type=cat, in_service=in_service, scaling=global_scaling) + #else: + type = item.typ_id + sid = create_gen(net, bus=bus, p_mw=item.pgini * multiplier, vm_pu=vm_pu, + min_q_mvar=item.cQ_min, max_q_mvar=item.cQ_max, + min_p_mw=item.Pmin_uc, max_p_mw=item.Pmax_uc, + name=item.loc_name, type=cat, in_service=in_service, scaling=global_scaling) + element = 'gen' + elif av_mode == 'constq': + try: + q_mvar = item.GetAttribute('m:Q:bus1') * multiplier + except AttributeError: + q_mvar = item.ng_num * item.qgini * multiplier if item.bustp == 'PQ' else q_res + #if item.iqtype == 1: + # type = item.typ_id + # sid = create_sgen(net, bus=bus, p_mw=item.pgini * multiplier, q_mvar=q_mvar, + # min_q_mvar=type.Q_min, max_q_mvar=type.Q_max, + # min_p_mw=item.Pmin_uc, max_p_mw=item.Pmax_uc, + # name=item.loc_name, type=cat, in_service=in_service, scaling=global_scaling) + #else: + type = item.typ_id + sid = create_sgen(net, bus=bus, p_mw=item.pgini * multiplier, q_mvar=q_mvar, + min_q_mvar=item.cQ_min, max_q_mvar=item.cQ_max, + min_p_mw=item.Pmin_uc, max_p_mw=item.Pmax_uc, + name=item.loc_name, type=cat, in_service=in_service, scaling=global_scaling) + element = 'sgen' logger.debug('av_mode: %s' % av_mode) if av_mode == 'constv': @@ -4055,6 +4105,10 @@ def create_pp_vsc(net, item): def create_stactrl(net, item, top, top_all, **kwargs): + if 'bus_dict_Elm_Term' in kwargs: + bus_dict_stactrl = kwargs.get('bus_dict_Elm_Term') + else: + bus_dict_stactrl = None stactrl_in_service = True logger.info(f"Creating Station Controller {item.loc_name}") if item.outserv: @@ -4153,24 +4207,52 @@ def create_stactrl(net, item, top, top_all, **kwargs): if len(gen_element_index) != len(machines): raise UserWarning("station controller: could not properly identify the machines") - gen_element_in_service = [net[gen_element].loc[net[gen_element].name == s.loc_name, "in_service"].values[0] for s in machines] + ###getting distribution mode### + gen_element_in_service = [net[gen_element].loc[net[gen_element].name == s.loc_name].in_service for s in machines] + distribution_val = [] + #if item.imode < 3: #import from pf without calculation + #distribution_mode = 'imported' #simpler than handing over the values separately, also station controller handles cases differently + if item.imode == 0: + distribution_mode = 'rel_P' #according to active power + distribution_val = None + elif item.imode ==1: + distribution_mode = 'rel_rated_S' #according to maximum rated Power S of output elements + distribution_val = None + counter = 0 + for s in machines: + if ((gen_types[counter] == 'sgen' or gen_types[counter] == 'gen') + and np.isnan(net.sgen.loc[gen_element_index[counter], 'sn_mva'])): + net.sgen.at[gen_element_index[counter], 'sn_mva'] = s.typ_id.sgn #todo import of rated apparent power S, somewhere else? + counter += 1 - if item.imode > 2: - logger.warning(f"{item}: reactive power distribution {item.imode=} not implemented, using flat distribution") - n = len(item.psym) if getattr(item, "psym", None) is not None else 0 - distribution = [1.0 / n] * n if n > 0 else [] - else: + elif item.imode == 2: + distribution_mode = 'set_Q' #Individually set Q distribution values i = 0 distribution = [] for m in item.psym: if m is not None and isinstance(item.cvqq, list): - distribution.append(item.cvqq[i] / 100) + distribution_val.append(item.cvqq[i] / 100) elif m is not None and not isinstance(item.cvqq, list): - distribution.append(item.cvqq / 100) + distribution_val.append(item.cvqq / 100) i = i + 1 - if sum(distribution) != 1: - logger.info( - f'{item}: sum of reactive power distribution is unequal to 1 but will be normalized in binary search control.') + elif item.imode == 3: + distribution_mode = 'max_Q' #maximized reactive power reserve + distribution_val = None + + elif item.imode == 4: + distribution_mode = 'rel_V_pu' #voltage set point adaptation + i = 0 + for m in item.psym: + if m is not None and isinstance(item.cvgen, list) and isinstance(item.cvgenmin, list) and isinstance(item.cvgenmax, list): + distribution_val.append([item.cvgen[i], item.cvgenmin[i], item.cvgenmax[i]]) + elif m is not None and not isinstance(item.cvgen, list) and not isinstance(item.cvgenmin, list) and not isinstance(item.cvgenmax, list): + distribution_val = [item.cvgen, item.cvgenmin, item.cvgenmax] + i += 1 + else: + raise NotImplementedError(f'Reactive Power Distribution must be between 0 and 4, not {item.imode}') + + if distribution_val is not None and sum(distribution_val)!=1: + logger.info(f'{item}: sum of reactive power dstribution is unequal to 1 but will be normalized in binary search control.') phase = item.i_phase if phase != 0: @@ -4366,7 +4448,8 @@ def create_stactrl(net, item, top, top_all, **kwargs): output_variable="q_mvar", output_element_index=gen_element_index, output_element_in_service=gen_element_in_service, - output_values_distribution=distribution, + distribution_method=distribution_mode, + output_values_distribution=distribution_val, input_element=res_element_table, input_variable=variable, input_inverted=input_inverted, @@ -4382,22 +4465,23 @@ def create_stactrl(net, item, top, top_all, **kwargs): net.controller.loc[max(net.controller.index), 'name'] = item.loc_name else: BinarySearchControl(net, - name=item.loc_name, - ctrl_in_service=stactrl_in_service, - output_element=gen_element, - output_variable="q_mvar", - output_element_index=gen_element_index, - output_element_in_service=gen_element_in_service, - output_values_distribution=distribution, - input_element="res_bus", - input_variable="vm_pu", - input_inverted=input_inverted, - input_element_index=bus, - set_point=v_setpoint_pu, - control_modus='V_ctrl', - damping_factor=0.9, - tol=1e-6, - machines=[machine_obj.loc_name for machine_obj in item.psym]) + name=item.loc_name, + ctrl_in_service=stactrl_in_service, + output_element=gen_element, + output_variable='q_mvar', + output_element_index=gen_element_index, + output_element_in_service=gen_element_in_service, + distribution_method=distribution_mode, + output_values_distribution=distribution_val, + input_element="res_bus", + input_variable="vm_pu", + input_inverted=input_inverted, + input_element_index=bus, + set_point=v_setpoint_pu, + control_modus='V_ctrl', + damping_factor=0.9, + tol=1e-6, + machines=[machine_obj.loc_name for machine_obj in item.psym]) net.controller.loc[max(net.controller.index), 'name'] = item.loc_name elif control_mode == 1: # Q Control mode #if item.iQorient != 0: @@ -4415,14 +4499,15 @@ def create_stactrl(net, item, top, top_all, **kwargs): output_variable="q_mvar", output_element_index=gen_element_index, output_element_in_service=gen_element_in_service, - output_values_distribution=distribution, input_element=res_element_table, + distribution_method=distribution_mode, + output_values_distribution=distribution_val, + damping_factor=0.9, input_variable=variable, input_inverted=input_inverted, input_element_index=res_element_index, set_point=item.qsetp, control_modus= 'Q_ctrl', - damping_factor=0.9, tol=1e-6, machines=[machine_obj.loc_name for machine_obj in item.psym]) elif item.qu_char == 1: @@ -4436,15 +4521,16 @@ def create_stactrl(net, item, top, top_all, **kwargs): output_variable="q_mvar", output_element_index=gen_element_index, output_element_in_service=gen_element_in_service, - output_values_distribution=distribution, input_element=res_element_table, + distribution_method=distribution_mode, + output_values_distribution=distribution_val, + damping_factor=0.9, input_variable=variable, input_inverted=input_inverted, input_element_index=res_element_index, set_point=item.qsetp, control_modus='Q_ctrl_V_droop', bus_idx=bus, - damping_factor=0.9, tol=1e-6, machines=[machine_obj.loc_name for machine_obj in item.psym] ) @@ -4459,7 +4545,8 @@ def create_stactrl(net, item, top, top_all, **kwargs): vm_set_lb=item.udeadblow, q_set_mvar_bsc=item.qsetp, controller_idx=bsc.index, - control_modus="Q_ctrl_V_droop", machines=[machine_obj.loc_name for machine_obj in item.psym]) + control_modus ='Q_ctrl_V_droop', + machines=[machine_obj.loc_name for machine_obj in item.psym]) else: raise NotImplementedError elif control_mode==2:#PF_Control @@ -4481,15 +4568,18 @@ def create_stactrl(net, item, top, top_all, **kwargs): output_element_index=gen_element_index, output_element_in_service=gen_element_in_service, input_element=res_element_table, - output_values_distribution=distribution, + distribution_method=distribution_mode, + output_values_distribution=distribution_val, damping_factor=0.9, input_variable=variable, input_element_index=res_element_index, set_point=item.pfsetp, - control_modus=control_modus, tol=1e-6, - name = item.loc_name + control_modus=control_modus, + tol=1e-6, + name = item.loc_name, + machines=[machine_obj.loc_name for machine_obj in item.psym] ) - elif control_mode== 3: #tan(phi)_control + elif control_mode== 3:#tan(phi)_control if item.iQorient != 0: if not stactrl_in_service: return @@ -4501,13 +4591,15 @@ def create_stactrl(net, item, top, top_all, **kwargs): output_element_index=gen_element_index, output_element_in_service=gen_element_in_service, input_element=res_element_table, - output_values_distribution=distribution, + distribution_method=distribution_mode, + output_values_distribution=distribution_val, damping_factor=0.9, input_variable=variable, input_element_index=res_element_index, set_point=item.tansetp, input_inverted=input_inverted, - control_modus='tan_phi_ctrl', tol=1e-6 + control_modus='tan_phi_ctrl', tol=1e-6, + machines=[machine_obj.loc_name for machine_obj in item.psym] ) else: raise NotImplementedError(f"{item}: control mode {item.i_ctrl=} not implemented") diff --git a/pandapower/test/api/test_convert_format.py b/pandapower/test/api/test_convert_format.py index 8f7ddffe17..5ef8a9a3ba 100644 --- a/pandapower/test/api/test_convert_format.py +++ b/pandapower/test/api/test_convert_format.py @@ -27,7 +27,7 @@ def test_convert_format(version): try: net = from_json(filename, convert=False) if ('version' in net) and (vs.parse(str(net.version)) > vs.parse('2.0.1')): - _ = from_json(filename, elements_to_deserialize=['bus', 'load']) + _ = from_json(filename, elements_to_deserialize=['bus', 'load', 'controller']) except: raise UserWarning("Can not load network saved in pandapower version %s" % version) vm_pu_old = net.res_bus.vm_pu.copy() diff --git a/pandapower/test/control/test_stactrl.py b/pandapower/test/control/test_stactrl.py index 40236a0eae..9220760dd5 100644 --- a/pandapower/test/control/test_stactrl.py +++ b/pandapower/test/control/test_stactrl.py @@ -33,12 +33,29 @@ def simple_test_net(): create_line(net, 1, 2, length_km=0.1, std_type="NAYY 4x50 SE") return net +def distribution_test_net(): + net = create_empty_network() + create_bus(net, 110, index = 0) + create_buses(net, 4, 20) + create_ext_grid(net, 0) + create_transformer(net, 0, 1, "63 MVA 110/20 kV") + create_transformer(net, 0, 3, std_type='63 MVA 110/20 kV') + create_load(net, 1, 3, 5) + create_load(net, 3, 3) + create_sgen(net, 2, p_mw=2, sn_mva=10, name="sgen1") + create_sgen(net, 4, p_mw=1, sn_mva=5, name='sgen2') + create_sgen(net, 4,1, sn_mva=5, name = 'sgen3') + create_line(net, 1, 2, length_km=0.1, std_type="NAYY 4x50 SE") + create_line(net, 3, 4, length_km=0.2, std_type= 'NAYY 4x50 SE') + return net + +###test legacy support### def test_volt_ctrl(): net = simple_test_net() tol = 1e-6 BinarySearchControl( net, name="BSC1", ctrl_in_service=True, output_element="sgen", output_variable="q_mvar", tol=tol, - output_element_index=[0], output_element_in_service=[True], output_values_distribution=[1], voltage_ctrl=True, + output_element_index=[0], output_element_in_service=[True], distribution_method=[1], voltage_ctrl=True, input_element="res_bus", input_variable="vm_pu", input_element_index=[1], set_point=1.02 ) runpp(net, run_control=False) @@ -53,10 +70,10 @@ def test_volt_ctrl_droop(): net = simple_test_net() tol = 1e-6 bsc = BinarySearchControl(net, name="BSC1", ctrl_in_service=True, - output_element="sgen", output_variable="q_mvar", output_element_index=[0], - output_element_in_service=[True], output_values_distribution=[1], - input_element="res_trafo", input_variable="q_hv_mvar", input_element_index=[0], - set_point=1.02, voltage_ctrl=True, bus_idx=1, tol=tol) + output_element="sgen", output_variable="q_mvar", output_element_index=[0], + output_element_in_service=[True], distribution_method=['rel_P'], + input_element="res_trafo", input_variable="q_hv_mvar", input_element_index=[0], + set_point=1.02, voltage_ctrl=True, bus_idx=1, tol=tol) DroopControl(net, name="DC1", q_droop_mvar=40, bus_idx=1, vm_set_pu=1.02, controller_idx=bsc.index, voltage_ctrl=True, tol = tol) runpp(net, run_control=False) @@ -65,7 +82,7 @@ def test_volt_ctrl_droop(): assert(net.controller.object[0].converged == True and net.controller.object[1].converged == True) assert(abs(net.res_bus.loc[1, "vm_pu"] - (1.02 + net.res_trafo.loc[0, "q_hv_mvar"] / 40)) < tol) assert(all(net.controller.object[i].converged == True for i in net.controller.index)) - assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'V_ctrl_Q_droop') # test correct control_modus + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'V_ctrl_Q_droop')#test correct control_modus assert(getattr(net.controller.at[1, 'object'].control_modus, 'value', None) == 'V_ctrl_Q_droop') # test correct control_modus assert(net.controller.at[1, 'object'].controller_idx == 0) # test droop controller linkage @@ -73,17 +90,17 @@ def test_volt_ctrl_droop(): def test_qctrl(): net = simple_test_net() tol = 1e-6 - BinarySearchControl( - net, name="BSC1", ctrl_in_service=True, output_element="sgen", output_variable="q_mvar", voltage_ctrl=False, - output_element_index=[0], output_element_in_service=[True], output_values_distribution=[1], set_point=1, - input_element="res_line", damping_factor=0.9, input_variable=["q_to_mvar"], input_element_index=0, tol=1e-6 - ) + BinarySearchControl(net, name="BSC1", ctrl_in_service=True, output_element="sgen", output_variable="q_mvar", + output_element_index=[0], output_element_in_service=[True], + distribution_method='rel_rated_S', input_element="res_line", + damping_factor=0.9, input_variable=["q_to_mvar"], + input_element_index=0, set_point=1, voltage_ctrl=False, tol=1e-6) runpp(net, run_control=False) assert(abs(net.res_line.loc[0, "q_to_mvar"] - (-6.092016e-12)) < tol) runpp(net, run_control=True) assert(abs(net.res_line.loc[0, "q_to_mvar"] - 1.0) < tol) assert(all(net.controller.object[i].converged == True for i in net.controller.index)) - assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'Q_ctrl') # test correct control_modus + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'Q_ctrl')# test correct control_modus def test_qctrl_imp_input(): @@ -108,17 +125,17 @@ def test_qctrl_droop(): tol = 1e-6 net.load.loc[0, "p_mw"] = 60 # create voltage drop at bus 1 bsc = BinarySearchControl(net, name="BSC1", ctrl_in_service=True, - output_element="sgen", output_variable="q_mvar", output_element_index=[0], - output_element_in_service=[True], output_values_distribution=[1], - input_element="res_line", damping_factor=0.9, input_variable=["q_from_mvar"], - input_inverted=True, input_element_index=0, set_point=1, voltage_ctrl=False, tol=1e-6) + output_element="sgen", output_variable="q_mvar", output_element_index=[0], + output_element_in_service=[True], distribution_method='set_Q', + input_element="res_line", damping_factor=0.9, input_variable=["q_from_mvar"], + input_inverted=True, input_element_index=0, set_point=1, voltage_ctrl=False, tol=1e-6) DroopControl(net, name="DC1", q_droop_mvar=40, bus_idx=1, vm_set_pu=1, vm_set_ub=1.005, vm_set_lb=0.995, controller_idx=bsc.index, voltage_ctrl=False) runpp(net, run_control=False) assert(abs(net.res_line.loc[0, "q_to_mvar"] - (-1e-13)) < tol) runpp(net, run_control=True) - assert (net.controller.object[0].converged == True and net.controller.object[1].converged == True) + assert(all(net.controller.object[i].converged == True for i in net.controller.index)) assert(abs(net.controller.object[0].input_sign[0] * net.res_line.loc[0, "q_from_mvar"] - ( net.controller.object[1].q_set_mvar_bsc + (0.995 - net.res_bus.loc[1, "vm_pu"]) * 40)) < tol) assert(all(net.controller.object[i].converged == True for i in net.controller.index)) @@ -202,7 +219,6 @@ def test_qlimits_with_capability_curve(v, p): 'p_mw': [-2.0, -1.0, 0.0, 1.0, 2.0], 'q_min_mvar': [-0.1, -0.1, -0.1, -0.1, -0.1], 'q_max_mvar': [0.1, 0.1, 0.1, 0.1, 0.1]}) - net.sgen.at[0, "id_q_capability_characteristic"] = 0 net.sgen['curve_style'] = "straightLineYValues" create_q_capability_characteristics_object(net) @@ -311,11 +327,11 @@ def test_volt_ctrl_new(): net = simple_test_net() tol = 1e-6 BinarySearchControl(net, ctrl_in_service=True, - output_element="sgen", output_variable="q_mvar", output_element_index=0, - output_element_in_service=True, output_values_distribution=1, - output_distribution_values = 2, - input_element="res_bus", input_variable="vm_pu", input_element_index=1, - set_point=1.02,control_modus='V_ctrl', tol=tol, bus_idx = 1) + output_element="sgen", output_variable="q_mvar", output_element_index=0, + output_element_in_service=True, distribution_method='rel_P', + output_values_distribution= 2, + input_element="res_bus", input_variable="vm_pu", input_element_index=1, + set_point=1.02, control_modus='V_ctrl', tol=tol, bus_idx = 1) runpp(net, run_control=False) assert(abs(net.res_bus.loc[1, "vm_pu"] - 0.999648) < tol) runpp(net, run_control=True) @@ -329,7 +345,7 @@ def test_volt_ctrl_droop_new(): tol = 1e-6 bsc = BinarySearchControl(net, ctrl_in_service=True, output_element="sgen", output_variable="q_mvar", output_element_index=0, - output_element_in_service=True, output_values_distribution=1, + output_element_in_service=True, distribution_method='rel_rated_S', input_element="res_trafo", input_variable="q_hv_mvar", input_element_index=0, set_point=1.02,control_modus = 'V_ctrl_Q_droop', tol=tol, bus_idx =1) DroopControl(net, q_droop_mvar=40, controller_idx=bsc.index, control_modus = "V_ctrl_Q_droop", input_element_q_meas='res_trafo', @@ -339,8 +355,8 @@ def test_volt_ctrl_droop_new(): runpp(net, run_control=True) assert(abs(net.res_bus.loc[1, "vm_pu"] - (1.02 + net.res_trafo.loc[0, "q_hv_mvar"] / 40)) < tol) assert(all(net.controller.object[i].converged == True for i in net.controller.index)) - assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'V_ctrl_Q_droop') # test correct control_modus - assert(getattr(net.controller.at[1, 'object'].control_modus, 'value', None) == 'V_ctrl_Q_droop') # test correct control_modus + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'V_ctrl_Q_droop')# test correct control_modus + assert(getattr(net.controller.at[1, 'object'].control_modus, 'value', None) == 'V_ctrl_Q_droop')# test correct control_modus assert(net.controller.at[1, 'object'].controller_idx == 0) # test droop controller linkage @@ -348,10 +364,10 @@ def test_qctrl_new(): net = simple_test_net() tol = 1e-6 BinarySearchControl(net, ctrl_in_service=True, output_element="sgen", output_variable="q_mvar", - output_element_index=0, output_element_in_service=True, - output_values_distribution=1, input_element="res_line", - damping_factor=0.9, input_variable=["q_to_mvar"], output_distribution_values= [0.2, 0.3], - input_element_index=0, set_point=1,control_modus = 'Q_ctrl', tol=1e-6) + output_element_index=0, output_element_in_service=True, + distribution_method='set_Q', input_element="res_line", + damping_factor=0.9, input_variable=["q_to_mvar"], output_values_distribution= [0.2, 0.3], + input_element_index=0, set_point=1, control_modus = 'Q_ctrl', tol=1e-6) runpp(net, run_control=False) assert(abs(net.res_line.loc[0, "q_to_mvar"] - (-6.092016e-12)) < tol) runpp(net, run_control=True) @@ -365,10 +381,10 @@ def test_qctrl_droop_new(): tol = 1e-6 net.load.loc[0, "p_mw"] = 60 # create voltage drop at bus 1 bsc = BinarySearchControl(net, ctrl_in_service=True, - output_element="sgen", output_variable="q_mvar", output_element_index=0, - output_element_in_service=True, output_values_distribution=1, - input_element="res_line", damping_factor=0.9, input_variable="q_to_mvar", - input_element_index=0, set_point=1,control_modus = 'Q_ctrl_V_droop', tol=1e-6) + output_element="sgen", output_variable="q_mvar", output_element_index=0, + output_element_in_service=True, distribution_method='max_Q', + input_element="res_line", damping_factor=0.9, input_variable="q_to_mvar", + input_element_index=0, set_point=1, control_modus = 'Q_ctrl_V_droop', tol=1e-6) DroopControl(net, q_droop_mvar=40, bus_idx=1, vm_set_pu=1, vm_set_ub=1.005, vm_set_lb=0.995, controller_idx=bsc.index, control_modus='Q_ctrl_V_droop') @@ -378,18 +394,18 @@ def test_qctrl_droop_new(): assert(abs(net.res_line.loc[0, "q_to_mvar"] - (1 + (0.995 - net.res_bus.loc[1, "vm_pu"]) * 40)) < tol) assert(all(net.controller.object[i].converged == True for i in net.controller.index)) assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'Q_ctrl_V_droop')# test correct control_modus - assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'Q_ctrl_V_droop') # test correct control_modus + assert(getattr(net.controller.at[1, 'object'].control_modus, 'value', None) == 'Q_ctrl_V_droop') # test correct control_modus assert(net.controller.at[1, 'object'].controller_idx == 0) # test droop controller linkage def test_pf_control_cap(): net = simple_test_net() tol = 1e-6 BinarySearchControl(net, ctrl_in_service=True, output_element='sgen', output_variable='q_mvar', - output_element_index=0, output_values_distribution=1, - input_element='res_line', output_element_in_service=True, - damping_factor = 0.9, input_variable='q_to_mvar', input_element_index=0, - set_point = 0.7, tol = 1e-6,control_modus = 'PF_ctrl_cap', - output_distribution_values=[1, 0.9, 1.1]) + output_element_index=0, distribution_method='rel_V_pu', + input_element='res_line', output_element_in_service=True, + damping_factor = 0.9, input_variable='q_to_mvar', input_element_index=0, + set_point = 0.7, tol = 1e-6, control_modus = 'PF_ctrl_cap', + output_values_distribution=[1, 0.9, 1.1]) runpp(net, run_control=False) assert(abs(np.arctan(net.res_line.loc[0, "q_to_mvar"] / net.res_line.loc[0, 'p_to_mw']) + 0.7953988 - np.arccos(0.7)) < tol) runpp(net, run_control = True) @@ -402,31 +418,31 @@ def test_pf_control_ind(): net = simple_test_net() tol = 1e-6 BinarySearchControl(net, ctrl_in_service=True, output_element='sgen', output_variable='q_mvar', - output_element_index=0, output_values_distribution=1, - input_element='res_line', output_element_in_service=True, - damping_factor = 0.9, input_variable='q_to_mvar', input_element_index=0, - set_point = 0.7, tol = 1e-6,control_modus = 'PF_ctrl_ind', - output_distribution_values=[1, 0.9, 1.1]) + output_element_index=0, distribution_method='max_Q', + input_element='res_line', output_element_in_service=True, + damping_factor = 0.9, input_variable='q_to_mvar', input_element_index=0, + set_point = 0.7, tol = 1e-6, control_modus = 'PF_ctrl_ind', + output_values_distribution=[1, 0.9, 1.1]) runpp(net, run_control=False) assert(abs(np.arctan(net.res_line.loc[0, "q_to_mvar"] / net.res_line.loc[0, 'p_to_mw']) + 0.7953988 - np.arccos(0.7)) < tol) runpp(net, run_control = True) - assert(abs(np.arctan(net.res_line.loc[0, "q_to_mvar"]/net.res_line.loc[0, 'p_to_mw']) - np.arccos(0.7)) < tol) # positive means inductive + assert(abs(np.arctan(net.res_line.loc[0, "q_to_mvar"]/net.res_line.loc[0, 'p_to_mw']) - np.arccos(0.7)) < tol)#positive means inductive assert(all(net.controller.object[i].converged == True for i in net.controller.index)) - assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'PF_ctrl_ind') # test correct control_modus + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'PF_ctrl_ind')# test correct control_modus def test_tan_phi_control(): net = simple_test_net() tol = 1e-6 BinarySearchControl(net, ctrl_in_service= True, output_element='sgen', output_variable='q_mvar', - output_element_index= 0, output_element_in_service= True, output_values_distribution=1, - input_element='res_trafo', input_variable='q_lv_mvar', input_element_index=0, control_modus='tan_phi_ctrl', - tol = 1e-6, set_point=2) + output_element_index= 0, output_element_in_service= True, distribution_method='rel_P', + input_element='res_trafo', input_variable='q_lv_mvar', input_element_index=0, control_modus='tan_phi_ctrl', + tol = 1e-6, set_point=2) runpp(net, run_control=False) assert(abs(net.res_trafo.loc[0, "q_lv_mvar"] / net.res_trafo.loc[0, 'p_lv_mw'] - 0.097382) < tol) runpp(net, run_control=True) assert(abs(net.res_trafo.loc[0, "q_lv_mvar"] / net.res_trafo.loc[0, 'p_lv_mw'] - 2) < tol) assert(all(net.controller.object[i].converged == True for i in net.controller.index)) - assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'tan_phi_ctrl') # test correct control_modus + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'tan_phi_ctrl') # test correct control_modus def test_station_ctrl_pf_import_new(): path = os.path.join(pp_dir, 'test', 'control', 'testfiles', 'station_ctrl_test_new.json') @@ -527,6 +543,168 @@ def test_station_ctrl_pf_import_new(): assert abs(net.res_line.loc[21, "q_to_mvar"] / net.res_line.loc[21, 'p_to_mw'] - 0) < tol assert getattr(net.controller.at[4, 'object'].control_modus, 'value', None) == 'tan_phi_ctrl' # test correct control_modus +### Test Q distributions### + +def test_q_relative_to_p_dist(): + net = distribution_test_net() + tol = 1e-6 + BinarySearchControl(net, True, 'sgen', 'q_mvar', + [0,1], [True, True], 'res_bus', + 'vm_pu', 4, 1, 'rel_P', + None, 'V_ctrl', 1e-6) + runpp(net, run_control = False) + assert(net.sgen.at[0, 'q_mvar'] == net.sgen.at[1, 'q_mvar']) + runpp(net, run_control = True) + assert(all(net.controller.object[i].converged == True for i in net.controller.index)) + assert(net.sgen.at[0, 'q_mvar'] != net.sgen.at[1, 'q_mvar']) + assert(abs(net.sgen.at[0, 'q_mvar']/(net.sgen.at[0, 'q_mvar'] + net.sgen.at[1, 'q_mvar']) - net.sgen.at[0, 'p_mw']/( + net.sgen.at[0, 'p_mw'] + net.sgen.at[1, 'p_mw'])) < tol) + assert(abs(net.sgen.at[1, 'q_mvar'] / (net.sgen.at[0, 'q_mvar'] + net.sgen.at[1, 'q_mvar'])-net.sgen.at[1, 'p_mw']/( + net.sgen.at[0, 'p_mw'] + net.sgen.at[1, 'p_mw'])) < tol) + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'V_ctrl') # test correct control_modus + assert(getattr(net.controller.at[0, 'object'].distribution_method, 'value', None) == 'rel_P') + +def test_q_relative_to_rated_s_dist(): #rated p is not implemented and defaults to 50 MVar => 50/50 + net = distribution_test_net() + BinarySearchControl(net, True, 'sgen', 'q_mvar', + [0,1], [True, True], 'res_line', + 'q_to_mvar', 0, 4, 'rel_rated_S', + None, 'Q_ctrl', 1e-6) + runpp(net, run_control = False) + assert(net.sgen.at[0, 'q_mvar'] == net.sgen.at[1, 'q_mvar']) #distribution is 50/50 + assert((net.sgen.at[0, 'q_mvar'] + 1) / net.sgen.at[0, 'sn_mva'] != #plus one because Q_sgen is 0 + (net.sgen.at[1, 'q_mvar'] + 1) / net.sgen.at[1, 'sn_mva']) #should not be equal, because unregulated + runpp(net, run_control = True) + assert (net.sgen.at[0, 'q_mvar'] != net.sgen.at[1, 'q_mvar']) #not equal anymore, but the relative values are equal + assert(net.sgen.at[0, 'q_mvar'] != 0 and net.sgen.at[1, 'q_mvar'] != 0) #prove that not 0 divided by values + assert(net.sgen.at[0, 'q_mvar'] / net.sgen.at[0, 'sn_mva'] == net.sgen.at[1, 'q_mvar'] / net.sgen.at[1, 'sn_mva']) + assert(all(net.controller.object[i].converged == True for i in net.controller.index)) + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'Q_ctrl') # test correct control_modus + assert(getattr(net.controller.at[0, 'object'].distribution_method, 'value', None) == 'rel_rated_S') + +def test_set_q_dist(): + net = distribution_test_net() + tol = 1e-6 + BinarySearchControl(net, True, 'sgen', 'q_mvar', + [0, 1], [True, True], 'res_line', + 'q_to_mvar', 0, 0.6, 'set_Q', + [0.5, 0.8], 'PF_ctrl_ind', 1e-6) + runpp(net, run_control=False) + assert(net.sgen.at[0, 'q_mvar'] == net.sgen.at[1, 'q_mvar']) + runpp(net, run_control=True) + assert(net.sgen.at[0, 'q_mvar'] != net.sgen.at[1, 'q_mvar']) + assert(abs(net.sgen.at[0, 'q_mvar'] / (net.sgen.at[0, 'q_mvar'] + net.sgen.at[1, 'q_mvar']) - 0.5 / (0.5 + 0.8)) < tol) + assert(abs(net.sgen.at[1, 'q_mvar'] / (net.sgen.at[0, 'q_mvar'] + net.sgen.at[1, 'q_mvar']) - 0.8 / (0.5 + 0.8)) < tol) + assert(all(net.controller.object[i].converged == True for i in net.controller.index)) + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'PF_ctrl_ind') # test correct control_modus + assert(getattr(net.controller.at[0, 'object'].distribution_method, 'value', None) == 'set_Q') + +def test_max_q(): + net = distribution_test_net() + BinarySearchControl(net, True, 'sgen', 'q_mvar', + [0,1], [True, True], 'res_line', + 'q_to_mvar', 0, 0.2, 'max_Q', + None, 'PF_ctrl_cap', 1e-6) + runpp(net, run_control = False) + assert(net.sgen.at[0, 'q_mvar'] == net.sgen.at[1, 'q_mvar']) + runpp(net, run_control = True) + assert(net.sgen.at[0, 'q_mvar'] == net.sgen.at[1, 'q_mvar'])#check internal error handling + net = distribution_test_net() #recall net to test other functions + net.sgen.at[0, 'min_q_mvar'] = -20 #setting necessary parameters + net.sgen.at[0, 'max_q_mvar'] = 50 + net.sgen.at[1, 'min_q_mvar'] = -7 + net.sgen.at[1, 'max_q_mvar'] = 20 + BinarySearchControl(net, True, 'sgen', 'q_mvar', + [0, 1], [True, True], 'res_line', + 'q_to_mvar', 0, 0.5, 'max_Q', + None, 'PF_ctrl_cap', 1e-6) + runpp(net, run_control = True) + assert(net.sgen.at[0, 'q_mvar'] != net.sgen.at[1, 'q_mvar']) + net = distribution_test_net()#testing generators at limit + net.sgen.at[0, 'min_q_mvar'] = -20 #lowest + net.sgen.at[0, 'max_q_mvar'] = 0 #least high + net.sgen.at[1, 'min_q_mvar'] = -7 #second lowest + net.sgen.at[1, 'max_q_mvar'] = 20 #highest + net.sgen.at[2, 'min_q_mvar'] = -6 #second highest + net.sgen.at[2, 'max_q_mvar'] = 4 # least low + idx_neg, idx_pos = [2, 1, 0], [0, 2, 1] #correct orders + BinarySearchControl(net, True, 'sgen', 'q_mvar', + [0, 1, 2], [True, True, True], 'res_line', + 'q_to_mvar', 0, 0.2, 'max_Q', + None, 'PF_ctrl_cap', 1e-6) + runpp(net, run_control = True) + #checking if control worked + assert(net.sgen.at[0, 'q_mvar'] != net.sgen.at[1, 'q_mvar'] != net.sgen.at[2, 'q_mvar']) + #checking if Q output order coincides with set Q limits + all_sgens = np.array([abs(net.sgen.at[0, 'q_mvar']), abs(net.sgen.at[1, 'q_mvar']), abs(net.sgen.at[2, 'q_mvar'])]) + idx = np.argsort(all_sgens) + assert(np.array_equal(idx, idx_pos) or np.array_equal(idx,idx_neg)) #correct order for set values + and - + assert(abs(net.sgen.at[idx_neg[0], 'q_mvar']) < abs(net.sgen.at[idx_neg[1], 'q_mvar']) < #redundant + abs(net.sgen.at[idx_neg[2], 'q_mvar']) or abs(net.sgen.at[idx_pos[0], 'q_mvar']) < + abs(net.sgen.at[idx_pos[1], 'q_mvar']) < abs(net.sgen.at[idx_pos[2], 'q_mvar'])) + assert(all(net.controller.object[i].converged == True for i in net.controller.index)) + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'PF_ctrl_cap') # test correct control_modus + assert (getattr(net.controller.at[0, 'object'].distribution_method, 'value', None) == 'max_Q') + +def test_rel_v_pu(): + net = distribution_test_net() + tol = 0.02 #voltage adaption is not very precise + BinarySearchControl(net, True, 'sgen', 'q_mvar', + [0,1], [True, True], 'res_line', + 'q_to_mvar', 0, 0.5, 'rel_V_pu', + [[0.98, 0.95, 1.1], [0.89, 0.8, 1.3]], 'tan(phi)_ctrl', 1e-6) + runpp(net, run_control = False) + assert(net.sgen.at[0, 'q_mvar'] == net.sgen.at[1, 'q_mvar'] == net.sgen.at[2, 'q_mvar']) #sgens are the same + assert(abs(net.res_bus.at[net.sgen.at[0, 'bus'], 'vm_pu'] + net.res_bus.at[net.sgen.at[1, 'bus'], 'vm_pu'] + - 0.98 - 0.89) > tol) #uncontrolled buses are not at V set points + with pytest.raises(NotImplementedError): + runpp(net, run_control=True) #test if sgens at same busbar are detected + net = distribution_test_net() + BinarySearchControl(net, True, 'sgen', 'q_mvar', + [0, 1], [True, True], 'res_line', + 'q_to_mvar', 0, 0.5, 'rel_V_pu', + [[0.98, 0.95, 1.1], [0.89, 0.8, 1.3]], 'tan_phi_ctrl', 1e-6) + net.sgen.drop(2, inplace=True) #delete interfering sgen + runpp(net, run_control= True) + assert(net.sgen.at[0, 'q_mvar'] != net.sgen.at[1, 'q_mvar']) #now controlled sgens + assert(abs(net.res_bus.at[net.sgen.at[0, 'bus'], 'vm_pu'] + net.res_bus.at[net.sgen.at[1, 'bus'], 'vm_pu'] + - 0.98 - 0.89) < tol) #now at set points + assert(all(net.controller.object[i].converged == True for i in net.controller.index)) + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'tan_phi_ctrl') # test correct control_modus + assert(getattr(net.controller.at[0, 'object'].distribution_method, 'value', None) == 'rel_V_pu') + +def test_station_ctrl_pf_import_distributions():#test comparability between PF and pp + path = os.path.join(pp_dir, 'test', 'control', 'testfiles', 'station_ctrl_test_distributions.json') + net = from_json(path) + tol = 5e-6 + tol_v = 2e-3 #smaller tolerance for voltage set point adaptation rel_V_pu and max_Q + runpp(net, run_control=True) + assert(all(abs(np.array(net.sgen.loc[net.controller.at[0, 'object'].output_element_index, 'q_mvar']) - + [0.06333, 0.33249]) < tol)) #set_Q + assert(all(abs(np.array(net.sgen.loc[net.controller.at[1, 'object'].output_element_index, 'q_mvar']) - + [0.63910, 0.35675]) < tol)) #rel_rated_S + assert(all(abs(np.array(net.sgen.loc[net.controller.at[2, 'object'].output_element_index, 'q_mvar']) - + [0.62056, 1.24112]) < tol)) #rel_P + assert(all(abs(np.array(net.sgen.loc[net.controller.at[3, 'object'].output_element_index, 'q_mvar']) - + [6.77276, -9.79795, -0.89898]) < tol_v)) #max_Q + assert(all(abs(np.array(net.sgen.loc[net.controller.at[4, 'object'].output_element_index, 'q_mvar']) - + [-31.23760, 1]) < tol_v)) #rel_V_pu Q_vals + assert(all(abs(np.array(net.res_bus.loc[net.sgen.loc[net.controller.at[4, 'object'].output_element_index].bus, 'vm_pu']) - + [0.89847, 0.98847 ]) < tol_v)) #rel_V_pu busbar voltage + assert(all(net.controller.object[i].converged == True for i in net.controller.index)) + assert(getattr(net.controller.at[0, 'object'].control_modus, 'value', None) == 'Q_ctrl') # test correct control_modus + assert(getattr(net.controller.at[1, 'object'].control_modus, 'value', None) == 'tan_phi_ctrl') # test correct control_modus + assert(getattr(net.controller.at[2, 'object'].control_modus, 'value', None) == 'PF_ctrl_ind') # test correct control_modus + assert(getattr(net.controller.at[3, 'object'].control_modus, 'value', None) == 'PF_ctrl_cap') # test correct control_modus + assert(getattr(net.controller.at[4, 'object'].control_modus, 'value', None) == 'tan_phi_ctrl') # test correct control_modus + assert(getattr(net.controller.at[0, 'object'].distribution_method, 'value', None) == 'set_Q') + assert(getattr(net.controller.at[1, 'object'].distribution_method, 'value', None) == 'rel_rated_S') + assert(getattr(net.controller.at[2, 'object'].distribution_method, 'value', None) == 'rel_P') + assert(getattr(net.controller.at[3, 'object'].distribution_method, 'value', None) == 'max_Q') + assert(getattr(net.controller.at[4, 'object'].distribution_method, 'value', None) == 'rel_V_pu') + + +#todo test distributions with enabled q_lims if __name__ == '__main__': pytest.main(['-s', __file__]) \ No newline at end of file diff --git a/pandapower/test/control/testfiles/station_ctrl_test_distributions.json b/pandapower/test/control/testfiles/station_ctrl_test_distributions.json new file mode 100644 index 0000000000..221f0c0fed --- /dev/null +++ b/pandapower/test/control/testfiles/station_ctrl_test_distributions.json @@ -0,0 +1,3456 @@ +{ + "_module": "pandapower.auxiliary", + "_class": "pandapowerNet", + "_object": { + "bus": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"vn_kv\",\"type\",\"zone\",\"in_service\",\"geo\",\"description\",\"substat\",\"folder_id\",\"equipment\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556],\"data\":[[\"1\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB\",\"1\",\"\"],[\"T1.1\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB\",\"1\",\"\"],[\"T1.2\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB\",\"1\",\"\"],[\"2\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB\",\"2\",\"\"],[\"T2.1\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB\",\"2\",\"\"],[\"T2.2\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB\",\"2\",\"\"],[\"3\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB\",\"3\",\"\"],[\"T3.1\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB\",\"3\",\"\"],[\"T3.2\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB\",\"3\",\"\"],[\"4\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB\",\"4\",\"\"],[\"T4.1\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB\",\"4\",\"\"],[\"T4.2\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB\",\"4\",\"\"],[\"External\",110.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB\",\"External BB\",\"External BB\",\"\"],[\"5\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB\",\"5\",\"\"],[\"T5.1\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB\",\"5\",\"\"],[\"T5.2\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB\",\"5\",\"\"],[\"6\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB\",\"6\",\"\"],[\"T6.1\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB\",\"6\",\"\"],[\"T6.2\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB\",\"6\",\"\"],[\"7\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB\",\"7\",\"\"],[\"T7.1\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB\",\"7\",\"\"],[\"T7.2\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB\",\"7\",\"\"],[\"8\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB\",\"8\",\"\"],[\"T8.1\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB\",\"8\",\"\"],[\"T8.2\",110.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB\",\"8\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(1)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(1)\",\"1\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(1)\",\"1\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(1)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(1)\",\"2\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(1)\",\"2\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(1)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(1)\",\"3\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(1)\",\"3\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(1)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(1)\",\"4\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(1)\",\"4\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(1)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(1)\",\"5\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(1)\",\"5\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(1)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(1)\",\"6\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(1)\",\"6\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(1)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(1)\",\"7\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(1)\",\"7\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(1)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(1)\",\"8\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(1)\",\"8\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(1)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(1)\",\"9\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(1)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(1)\",\"External BB(1)\",\"External BB(1)\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(2)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(2)\",\"1\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(2)\",\"1\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(2)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(2)\",\"2\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(2)\",\"2\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(2)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(2)\",\"3\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(2)\",\"3\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(2)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(2)\",\"4\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(2)\",\"4\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(2)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(2)\",\"5\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(2)\",\"5\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(2)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(2)\",\"6\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(2)\",\"6\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(2)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(2)\",\"7\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(2)\",\"7\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(2)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(2)\",\"8\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(2)\",\"8\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(2)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(2)\",\"9\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(2)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(2)\",\"External BB(2)\",\"External BB(2)\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(3)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(3)\",\"1\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(3)\",\"1\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(3)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(3)\",\"2\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(3)\",\"2\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(3)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(3)\",\"3\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(3)\",\"3\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(3)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(3)\",\"4\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(3)\",\"4\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(3)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(3)\",\"5\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(3)\",\"5\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(3)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(3)\",\"6\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(3)\",\"6\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(3)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(3)\",\"7\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(3)\",\"7\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(3)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(3)\",\"8\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(3)\",\"8\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(3)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(3)\",\"9\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(3)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(3)\",\"External BB(3)\",\"External BB(3)\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(4)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(4)\",\"1\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(4)\",\"1\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(4)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(4)\",\"2\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(4)\",\"2\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(4)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(4)\",\"3\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(4)\",\"3\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(4)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(4)\",\"4\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(4)\",\"4\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(4)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(4)\",\"5\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(4)\",\"5\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(4)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(4)\",\"6\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(4)\",\"6\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(4)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(4)\",\"7\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(4)\",\"7\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(4)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(4)\",\"8\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(4)\",\"8\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(4)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(4)\",\"9\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(4)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(4)\",\"External BB(4)\",\"External BB(4)\",\"\"],[\"1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(5)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(5)\",\"1\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(5)\",\"1\",\"\"],[\"2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(5)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(5)\",\"2\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(5)\",\"2\",\"\"],[\"3\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(5)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(5)\",\"3\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(5)\",\"3\",\"\"],[\"4\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(5)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(5)\",\"4\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(5)\",\"4\",\"\"],[\"5\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(5)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(5)\",\"5\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(5)\",\"5\",\"\"],[\"6\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(5)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(5)\",\"6\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(5)\",\"6\",\"\"],[\"7\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(5)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(5)\",\"7\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(5)\",\"7\",\"\"],[\"8\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(5)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(5)\",\"8\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(5)\",\"8\",\"\"],[\"9\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(5)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(5)\",\"9\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(5)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(5)\",\"External BB(5)\",\"External BB(5)\",\"\"],[\"1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(6)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(6)\",\"1\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(6)\",\"1\",\"\"],[\"2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(6)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(6)\",\"2\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(6)\",\"2\",\"\"],[\"3\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(6)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(6)\",\"3\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(6)\",\"3\",\"\"],[\"4\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(6)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(6)\",\"4\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(6)\",\"4\",\"\"],[\"5\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(6)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(6)\",\"5\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(6)\",\"5\",\"\"],[\"6\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(6)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(6)\",\"6\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(6)\",\"6\",\"\"],[\"7\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(6)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(6)\",\"7\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(6)\",\"7\",\"\"],[\"8\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(6)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(6)\",\"8\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(6)\",\"8\",\"\"],[\"9\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(6)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(6)\",\"9\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(6)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(6)\",\"External BB(6)\",\"External BB(6)\",\"\"],[\"1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(7)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(7)\",\"1\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(7)\",\"1\",\"\"],[\"2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(7)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(7)\",\"2\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(7)\",\"2\",\"\"],[\"3\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(7)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(7)\",\"3\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(7)\",\"3\",\"\"],[\"4\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(7)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(7)\",\"4\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(7)\",\"4\",\"\"],[\"5\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(7)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(7)\",\"5\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(7)\",\"5\",\"\"],[\"6\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(7)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(7)\",\"6\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(7)\",\"6\",\"\"],[\"7\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(7)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(7)\",\"7\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(7)\",\"7\",\"\"],[\"8\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(7)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(7)\",\"8\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(7)\",\"8\",\"\"],[\"9\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(7)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(7)\",\"9\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(7)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(7)\",\"External BB(7)\",\"External BB(7)\",\"\"],[\"1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(8)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(8)\",\"1\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(8)\",\"1\",\"\"],[\"2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(8)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(8)\",\"2\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(8)\",\"2\",\"\"],[\"3\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(8)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(8)\",\"3\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(8)\",\"3\",\"\"],[\"4\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(8)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(8)\",\"4\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(8)\",\"4\",\"\"],[\"5\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(8)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(8)\",\"5\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(8)\",\"5\",\"\"],[\"6\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(8)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(8)\",\"6\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(8)\",\"6\",\"\"],[\"7\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(8)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(8)\",\"7\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(8)\",\"7\",\"\"],[\"8\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(8)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(8)\",\"8\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(8)\",\"8\",\"\"],[\"9\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(8)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(8)\",\"9\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(8)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(8)\",\"External BB(8)\",\"External BB(8)\",\"\"],[\"1\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(9)\",\"1\",\"\"],[\"T1.1\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(9)\",\"1\",\"\"],[\"T1.2\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(9)\",\"1\",\"\"],[\"2\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(9)\",\"2\",\"\"],[\"T2.1\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(9)\",\"2\",\"\"],[\"T2.2\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(9)\",\"2\",\"\"],[\"3\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(9)\",\"3\",\"\"],[\"T3.1\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(9)\",\"3\",\"\"],[\"T3.2\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(9)\",\"3\",\"\"],[\"4\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(9)\",\"4\",\"\"],[\"T4.1\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(9)\",\"4\",\"\"],[\"T4.2\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(9)\",\"4\",\"\"],[\"5\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(9)\",\"5\",\"\"],[\"T5.1\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(9)\",\"5\",\"\"],[\"T5.2\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(9)\",\"5\",\"\"],[\"6\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(9)\",\"6\",\"\"],[\"T6.1\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(9)\",\"6\",\"\"],[\"T6.2\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(9)\",\"6\",\"\"],[\"7\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(9)\",\"7\",\"\"],[\"T7.1\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(9)\",\"7\",\"\"],[\"T7.2\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(9)\",\"7\",\"\"],[\"8\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(9)\",\"8\",\"\"],[\"T8.1\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(9)\",\"8\",\"\"],[\"T8.2\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(9)\",\"8\",\"\"],[\"9\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(9)\",\"9\",\"\"],[\"T9.1\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(9)\",\"9\",\"\"],[\"T9.2\",110.0,\"n\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(9)\",\"9\",\"\"],[\"External\",110.0,\"b\",\"Netz\",false,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(9)\",\"External BB(9)\",\"External BB(9)\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(10)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(10)\",\"1\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(10)\",\"1\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(10)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(10)\",\"2\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(10)\",\"2\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(10)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(10)\",\"3\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(10)\",\"3\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(10)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(10)\",\"4\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(10)\",\"4\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(10)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(10)\",\"5\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(10)\",\"5\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(10)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(10)\",\"6\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(10)\",\"6\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(10)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(10)\",\"7\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(10)\",\"7\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(10)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(10)\",\"8\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(10)\",\"8\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(10)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(10)\",\"9\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(10)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(10)\",\"External BB(10)\",\"External BB(10)\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(12)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(12)\",\"1\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(12)\",\"1\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(12)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(12)\",\"2\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(12)\",\"2\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(12)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(12)\",\"3\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(12)\",\"3\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(12)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(12)\",\"4\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(12)\",\"4\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(12)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(12)\",\"5\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(12)\",\"5\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(12)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(12)\",\"6\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(12)\",\"6\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(12)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(12)\",\"7\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(12)\",\"7\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(12)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(12)\",\"8\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(12)\",\"8\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(12)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(12)\",\"9\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(12)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(12)\",\"External BB(12)\",\"External BB(12)\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(13)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(13)\",\"1\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(13)\",\"1\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(13)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(13)\",\"2\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(13)\",\"2\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(13)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(13)\",\"3\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(13)\",\"3\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(13)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(13)\",\"4\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(13)\",\"4\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(13)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(13)\",\"5\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(13)\",\"5\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(13)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(13)\",\"6\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(13)\",\"6\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(13)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(13)\",\"7\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(13)\",\"7\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(13)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(13)\",\"8\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(13)\",\"8\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(13)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(13)\",\"9\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(13)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(13)\",\"External BB(13)\",\"External BB(13)\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(14)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(14)\",\"1\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(14)\",\"1\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(14)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(14)\",\"2\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(14)\",\"2\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(14)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(14)\",\"3\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(14)\",\"3\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(14)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(14)\",\"4\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(14)\",\"4\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(14)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(14)\",\"5\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(14)\",\"5\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(14)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(14)\",\"6\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(14)\",\"6\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(14)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(14)\",\"7\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(14)\",\"7\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(14)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(14)\",\"8\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(14)\",\"8\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(14)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(14)\",\"9\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(14)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(14)\",\"External BB(14)\",\"External BB(14)\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(11)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(11)\",\"1\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(11)\",\"1\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(11)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(11)\",\"2\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(11)\",\"2\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(11)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(11)\",\"3\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(11)\",\"3\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(11)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(11)\",\"4\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(11)\",\"4\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(11)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(11)\",\"5\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(11)\",\"5\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(11)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(11)\",\"6\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(11)\",\"6\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(11)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(11)\",\"7\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(11)\",\"7\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(11)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(11)\",\"8\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(11)\",\"8\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(11)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(11)\",\"9\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(11)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(11)\",\"External BB(11)\",\"External BB(11)\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(15)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(15)\",\"1\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(15)\",\"1\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(15)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(15)\",\"2\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(15)\",\"2\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(15)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(15)\",\"3\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(15)\",\"3\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(15)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(15)\",\"4\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(15)\",\"4\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(15)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(15)\",\"5\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(15)\",\"5\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(15)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(15)\",\"6\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(15)\",\"6\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(15)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(15)\",\"7\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(15)\",\"7\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(15)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(15)\",\"8\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(15)\",\"8\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(15)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(15)\",\"9\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(15)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(15)\",\"External BB(15)\",\"External BB(15)\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(16)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(16)\",\"1\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(16)\",\"1\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(16)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(16)\",\"2\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(16)\",\"2\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(16)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(16)\",\"3\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(16)\",\"3\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(16)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(16)\",\"4\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(16)\",\"4\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(16)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(16)\",\"5\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(16)\",\"5\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(16)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(16)\",\"6\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(16)\",\"6\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(16)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(16)\",\"7\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(16)\",\"7\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(16)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(16)\",\"8\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(16)\",\"8\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(16)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(16)\",\"9\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(16)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(16)\",\"External BB(16)\",\"External BB(16)\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(17)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(17)\",\"1\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(17)\",\"1\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(17)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(17)\",\"2\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(17)\",\"2\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(17)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(17)\",\"3\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(17)\",\"3\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(17)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(17)\",\"4\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(17)\",\"4\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(17)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(17)\",\"5\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(17)\",\"5\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(17)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(17)\",\"6\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(17)\",\"6\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(17)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(17)\",\"7\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(17)\",\"7\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(17)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(17)\",\"8\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(17)\",\"8\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(17)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(17)\",\"9\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(17)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(17)\",\"External BB(17)\",\"External BB(17)\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(18)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(18)\",\"1\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(18)\",\"1\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(18)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(18)\",\"2\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(18)\",\"2\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(18)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(18)\",\"3\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(18)\",\"3\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(18)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(18)\",\"4\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(18)\",\"4\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(18)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(18)\",\"5\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(18)\",\"5\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(18)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(18)\",\"6\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(18)\",\"6\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(18)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(18)\",\"7\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(18)\",\"7\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(18)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(18)\",\"8\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(18)\",\"8\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(18)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(18)\",\"9\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(18)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(18)\",\"External BB(18)\",\"External BB(18)\",\"\"],[\"1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(19)\",\"1\",\"\"],[\"T1.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(19)\",\"1\",\"\"],[\"T1.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"1\",\"External BB(19)\",\"1\",\"\"],[\"2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(19)\",\"2\",\"\"],[\"T2.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(19)\",\"2\",\"\"],[\"T2.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"2\",\"External BB(19)\",\"2\",\"\"],[\"3\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(19)\",\"3\",\"\"],[\"T3.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(19)\",\"3\",\"\"],[\"T3.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"3\",\"External BB(19)\",\"3\",\"\"],[\"4\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(19)\",\"4\",\"\"],[\"T4.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(19)\",\"4\",\"\"],[\"T4.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"4\",\"External BB(19)\",\"4\",\"\"],[\"5\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(19)\",\"5\",\"\"],[\"T5.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(19)\",\"5\",\"\"],[\"T5.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"5\",\"External BB(19)\",\"5\",\"\"],[\"6\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(19)\",\"6\",\"\"],[\"T6.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(19)\",\"6\",\"\"],[\"T6.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"6\",\"External BB(19)\",\"6\",\"\"],[\"7\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(19)\",\"7\",\"\"],[\"T7.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(19)\",\"7\",\"\"],[\"T7.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"7\",\"External BB(19)\",\"7\",\"\"],[\"8\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(19)\",\"8\",\"\"],[\"T8.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(19)\",\"8\",\"\"],[\"T8.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"8\",\"External BB(19)\",\"8\",\"\"],[\"9\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(19)\",\"9\",\"\"],[\"T9.1\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(19)\",\"9\",\"\"],[\"T9.2\",20.0,\"n\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"9\",\"External BB(19)\",\"9\",\"\"],[\"External\",20.0,\"b\",\"Netz\",true,\"{\\\"coordinates\\\":[0.0,0.0], \\\"type\\\":\\\"Point\\\"}\",\"External BB(19)\",\"External BB(19)\",\"External BB(19)\",\"\"]]}", + "orient": "split", + "dtype": { + "name": "object", + "vn_kv": "float64", + "type": "object", + "zone": "object", + "in_service": "bool", + "geo": "object", + "description": "object", + "substat": "object", + "folder_id": "object", + "equipment": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "bus_dc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"vn_kv\",\"type\",\"zone\",\"in_service\",\"geo\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "vn_kv": "float64", + "type": "object", + "zone": "object", + "in_service": "bool", + "geo": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "load": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"q_mvar\",\"const_z_percent\",\"const_i_percent\",\"sn_mva\",\"scaling\",\"in_service\",\"type\",\"description\",\"equipment\"],\"index\":[0,1,2,3,4,5,6],\"data\":[[\"Allgemeine Last\",33,3.0,5.0,100.0,0.0,null,1.0,true,\"wye\",\"\",\"\"],[\"Allgemeine Last(1)\",61,3.0,0.0,100.0,0.0,null,1.0,true,\"wye\",\"\",\"\"],[\"Allgemeine Last(2)\",285,3.0,5.0,100.0,0.0,null,1.0,true,\"wye\",\"\",\"\"],[\"Allgemeine Last(3)\",341,3.0,0.0,100.0,0.0,null,1.0,true,\"wye\",\"\",\"\"],[\"Allgemeine Last(4)\",397,2.5,1.0,100.0,0.0,null,1.0,true,\"wye\",\"\",\"\"],[\"Allgemeine Last(5)\",451,2.5,1.0,100.0,0.0,null,1.0,true,\"wye\",\"\",\"\"],[\"Allgemeine Last(6)\",507,2.5,1.0,100.0,0.0,null,1.0,true,\"wye\",\"\",\"\"]]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "uint32", + "p_mw": "float64", + "q_mvar": "float64", + "const_z_percent": "float64", + "const_i_percent": "float64", + "sn_mva": "float64", + "scaling": "float64", + "in_service": "bool", + "type": "object", + "description": "object", + "equipment": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "sgen": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"q_mvar\",\"min_q_mvar\",\"max_q_mvar\",\"sn_mva\",\"scaling\",\"controllable\",\"id_q_capability_curve_characteristic\",\"reactive_capability_curve\",\"curve_style\",\"in_service\",\"type\",\"current_source\",\"min_p_mw\",\"max_p_mw\",\"description\",\"equipment\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10],\"data\":[[\"Synchronmaschine\",89,2.0,0.0,-28.100000381469727,28.100000381469727,null,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"],[\"Synchronmaschine(4)\",313,2.0,0.0,-7.0,20.0,null,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"],[\"Synchronmaschine(2)\",310,1.0,0.0,-6.0,4.0,null,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"],[\"Synchronmaschine(1)\",114,1.0,0.0,-50.0,28.100000381469727,null,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"],[\"Synchronmaschine(3)\",369,2.0,0.0,-20.0,0.0,null,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"],[\"Synchronmaschine(6)\",425,2.0,0.0,-7.0,20.0,null,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"],[\"Synchronmaschine(5)\",422,1.0,0.0,-6.0,4.0,null,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"],[\"Synchronmaschine(8)\",476,1.0,0.0,-6.0,4.0,28.100000381469727,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"],[\"Synchronmaschine(7)\",479,2.0,0.0,-12.540212631225586,35.829181671142578,50.340000152587891,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"],[\"Synchronmaschine(10)\",532,1.0,0.0,-6.0,4.0,null,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"],[\"Synchronmaschine(9)\",535,2.0,0.0,-7.0,20.0,null,1.0,false,null,false,null,true,\"SGEN\",true,0.0,9999.0,\"\",\"\"]]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "int64", + "p_mw": "float64", + "q_mvar": "float64", + "min_q_mvar": "float64", + "max_q_mvar": "float64", + "sn_mva": "float64", + "scaling": "float64", + "controllable": "bool", + "id_q_capability_curve_characteristic": "Int64", + "reactive_capability_curve": "bool", + "curve_style": "object", + "in_service": "bool", + "type": "object", + "current_source": "bool", + "min_p_mw": "float64", + "max_p_mw": "float64", + "description": "object", + "equipment": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "motor": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"pn_mech_mw\",\"loading_percent\",\"cos_phi\",\"cos_phi_n\",\"efficiency_percent\",\"efficiency_n_percent\",\"lrc_pu\",\"vn_kv\",\"scaling\",\"in_service\",\"rx\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "int64", + "pn_mech_mw": "float64", + "loading_percent": "float64", + "cos_phi": "float64", + "cos_phi_n": "float64", + "efficiency_percent": "float64", + "efficiency_n_percent": "float64", + "lrc_pu": "float64", + "vn_kv": "float64", + "scaling": "float64", + "in_service": "bool", + "rx": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "asymmetric_load": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_a_mw\",\"q_a_mvar\",\"p_b_mw\",\"q_b_mvar\",\"p_c_mw\",\"q_c_mvar\",\"sn_mva\",\"scaling\",\"in_service\",\"type\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "uint32", + "p_a_mw": "float64", + "q_a_mvar": "float64", + "p_b_mw": "float64", + "q_b_mvar": "float64", + "p_c_mw": "float64", + "q_c_mvar": "float64", + "sn_mva": "float64", + "scaling": "float64", + "in_service": "bool", + "type": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "asymmetric_sgen": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_a_mw\",\"q_a_mvar\",\"p_b_mw\",\"q_b_mvar\",\"p_c_mw\",\"q_c_mvar\",\"sn_mva\",\"scaling\",\"in_service\",\"type\",\"current_source\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "int64", + "p_a_mw": "float64", + "q_a_mvar": "float64", + "p_b_mw": "float64", + "q_b_mvar": "float64", + "p_c_mw": "float64", + "q_c_mvar": "float64", + "sn_mva": "float64", + "scaling": "float64", + "in_service": "bool", + "type": "object", + "current_source": "bool" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "storage": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"q_mvar\",\"sn_mva\",\"soc_percent\",\"min_e_mwh\",\"max_e_mwh\",\"scaling\",\"in_service\",\"type\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "int64", + "p_mw": "float64", + "q_mvar": "float64", + "sn_mva": "float64", + "soc_percent": "float64", + "min_e_mwh": "float64", + "max_e_mwh": "float64", + "scaling": "float64", + "in_service": "bool", + "type": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "gen": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"vm_pu\",\"sn_mva\",\"min_q_mvar\",\"max_q_mvar\",\"scaling\",\"slack\",\"controllable\",\"id_q_capability_curve_characteristic\",\"reactive_capability_curve\",\"curve_style\",\"in_service\",\"slack_weight\",\"type\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "uint32", + "p_mw": "float64", + "vm_pu": "float64", + "sn_mva": "float64", + "min_q_mvar": "float64", + "max_q_mvar": "float64", + "scaling": "float64", + "slack": "bool", + "controllable": "bool", + "id_q_capability_curve_characteristic": "uint32", + "reactive_capability_curve": "bool", + "curve_style": "object", + "in_service": "bool", + "slack_weight": "float64", + "type": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "switch": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"bus\",\"element\",\"et\",\"type\",\"closed\",\"name\",\"z_ohm\",\"in_ka\",\"equipment\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536],\"data\":[[1,0,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[2,1,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[12,2,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[4,3,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[5,4,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[12,5,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[7,6,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[8,7,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[12,8,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[10,9,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[11,10,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[12,11,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[14,13,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[15,14,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[12,15,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[17,16,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[18,17,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[12,18,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[20,19,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[21,20,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[12,21,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[23,22,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[12,24,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[24,23,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[26,27,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[25,26,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[52,25,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[29,30,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[28,29,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[52,28,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[32,33,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[31,32,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[52,31,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[35,36,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[34,35,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[52,34,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[38,39,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[37,38,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[52,37,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[41,42,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[40,41,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[52,40,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[44,45,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[43,44,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[52,43,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[47,48,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[52,46,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[46,47,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[50,51,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[52,49,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[49,50,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[54,55,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[53,54,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[80,53,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[57,58,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[56,57,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[80,56,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[60,61,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[59,60,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[80,59,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[63,64,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[62,63,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[80,62,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[66,67,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[65,66,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[80,65,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[69,70,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[68,69,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[80,68,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[72,73,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[71,72,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[80,71,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[75,76,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[80,74,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[74,75,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[78,79,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[80,77,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[77,78,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[82,83,\"b\",\"DS\",true,\"IS1.1\",0.001,null,\"\"],[81,82,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[108,81,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[85,86,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[84,85,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[108,84,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[88,89,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[87,88,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[108,87,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[91,92,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[90,91,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[108,90,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[94,95,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[93,94,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[108,93,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[97,98,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[96,97,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[108,96,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[100,101,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[99,100,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[108,99,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[103,104,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[108,102,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[102,103,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[106,107,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[108,105,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[105,106,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[110,111,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[109,110,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[136,109,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[113,114,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[112,113,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[136,112,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[116,117,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[115,116,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[136,115,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[119,120,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[118,119,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[136,118,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[122,123,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[121,122,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[136,121,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[125,126,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[124,125,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[136,124,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[128,129,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[127,128,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[136,127,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[131,132,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[136,130,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[130,131,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[134,135,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[136,133,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[133,134,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[139,138,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[138,137,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[164,139,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[142,141,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[141,140,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[164,142,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[145,144,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[144,143,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[164,145,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[148,147,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[147,146,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[164,148,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[151,150,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[150,149,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[164,151,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[154,153,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[153,152,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[164,154,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[157,156,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[156,155,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[164,157,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[160,159,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[159,158,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[164,160,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[163,162,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[162,161,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[164,163,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[167,166,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[166,165,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[192,167,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[170,169,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[169,168,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[192,170,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[173,172,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[172,171,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[192,173,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[176,175,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[175,174,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[192,176,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[179,178,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[178,177,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[192,179,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[182,181,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[181,180,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[192,182,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[185,184,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[184,183,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[192,185,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[188,187,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[187,186,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[192,188,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[191,190,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[190,189,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[192,191,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[195,194,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[194,193,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[220,195,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[198,197,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[197,196,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[220,198,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[201,200,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[200,199,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[220,201,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[204,203,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[203,202,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[220,204,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[207,206,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[206,205,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[220,207,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[210,209,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[209,208,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[220,210,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[213,212,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[212,211,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[220,213,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[216,215,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[215,214,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[220,216,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[219,218,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[218,217,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[220,219,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[223,222,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[222,221,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[248,223,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[226,225,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[225,224,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[248,226,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[229,228,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[228,227,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[248,229,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[232,231,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[231,230,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[248,232,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[235,234,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[234,233,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[248,235,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[238,237,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[237,236,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[248,238,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[241,240,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[240,239,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[248,241,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[244,243,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[243,242,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[248,244,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[247,246,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[246,245,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[248,247,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[251,250,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[250,249,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[276,251,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[254,253,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[253,252,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[276,254,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[257,256,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[256,255,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[276,257,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[260,259,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[259,258,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[276,260,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[263,262,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[262,261,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[276,263,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[266,265,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[265,264,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[276,266,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[269,268,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[268,267,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[276,269,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[272,271,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[271,270,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[276,272,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[275,274,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[274,273,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[276,275,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[277,278,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[278,279,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[304,277,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[280,281,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[281,282,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[304,280,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[283,284,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[284,285,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[304,283,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[286,287,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[287,288,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[304,286,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[289,290,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[290,291,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[304,289,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[292,293,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[293,294,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[304,292,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[295,296,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[296,297,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[304,295,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[298,299,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[299,300,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[304,298,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[301,302,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[302,303,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[304,301,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[305,306,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[306,307,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[332,305,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[308,309,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[309,310,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[332,308,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[311,312,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[312,313,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[332,311,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[314,315,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[315,316,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[332,314,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[317,318,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[318,319,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[332,317,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[320,321,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[321,322,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[332,320,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[323,324,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[324,325,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[332,323,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[326,327,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[327,328,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[332,326,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[329,330,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[330,331,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[332,329,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[333,334,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[334,335,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[360,333,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[336,337,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[337,338,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[360,336,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[339,340,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[340,341,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[360,339,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[342,343,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[343,344,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[360,342,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[345,346,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[346,347,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[360,345,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[348,349,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[349,350,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[360,348,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[351,352,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[352,353,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[360,351,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[354,355,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[355,356,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[360,354,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[357,358,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[358,359,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[360,357,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[361,362,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[362,363,\"b\",\"DS\",true,\"IS1.1\",0.001,null,\"\"],[388,361,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[364,365,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[365,366,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[388,364,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[367,368,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[368,369,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[388,367,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[370,371,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[371,372,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[388,370,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[373,374,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[374,375,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[388,373,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[376,377,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[377,378,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[388,376,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[379,380,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[380,381,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[388,379,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[382,383,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[383,384,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[388,382,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[385,386,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[386,387,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[388,385,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[389,390,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[390,391,\"b\",\"DS\",true,\"IS1.1\",0.001,null,\"\"],[416,389,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[392,393,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[393,394,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[416,392,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[395,396,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[396,397,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[416,395,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[398,399,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[399,400,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[416,398,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[401,402,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[402,403,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[416,401,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[404,405,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[405,406,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[416,404,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[407,408,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[408,409,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[416,407,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[410,411,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[411,412,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[416,410,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[413,414,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[414,415,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[416,413,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[417,418,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[418,419,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[444,417,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[420,421,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[421,422,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[444,420,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[423,424,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[424,425,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[444,423,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[426,427,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[427,428,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[444,426,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[429,430,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[430,431,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[444,429,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[432,433,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[433,434,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[444,432,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[435,436,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[436,437,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[444,435,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[438,439,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[439,440,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[444,438,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[441,442,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[442,443,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[444,441,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[447,446,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[446,445,\"b\",\"DS\",true,\"IS1.1\",0.001,null,\"\"],[472,447,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[450,449,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[449,448,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[472,450,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[453,452,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[452,451,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[472,453,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[456,455,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[455,454,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[472,456,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[459,458,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[458,457,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[472,459,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[462,461,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[461,460,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[472,462,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[465,464,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[464,463,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[472,465,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[468,467,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[467,466,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[472,468,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[471,470,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[470,469,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[472,471,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[475,474,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[474,473,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[500,475,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[478,477,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[477,476,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[500,478,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[481,480,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[480,479,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[500,481,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[484,483,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[483,482,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[500,484,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[487,486,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[486,485,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[500,487,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[490,489,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[489,488,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[500,490,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[493,492,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[492,491,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[500,493,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[496,495,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[495,494,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[500,496,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[499,498,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[498,497,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[500,499,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[503,502,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[502,501,\"b\",\"DS\",true,\"IS1.1\",0.001,null,\"\"],[528,503,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[506,505,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[505,504,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[528,506,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[509,508,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[508,507,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[528,509,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[512,511,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[511,510,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[528,512,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[515,514,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[514,513,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[528,515,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[518,517,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[517,516,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[528,518,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[521,520,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[520,519,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[528,521,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[524,523,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[523,522,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[528,524,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[527,526,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[526,525,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[528,527,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"],[531,530,\"b\",\"CB\",true,\"CB1\",0.0,null,\"\"],[530,529,\"b\",\"DS\",true,\"IS1.1\",0.0,null,\"\"],[556,531,\"b\",\"DS\",true,\"IS1.2\",0.0,null,\"\"],[534,533,\"b\",\"CB\",true,\"CB2\",0.0,null,\"\"],[533,532,\"b\",\"DS\",true,\"IS2.1\",0.0,null,\"\"],[556,534,\"b\",\"DS\",true,\"IS2.2\",0.0,null,\"\"],[537,536,\"b\",\"CB\",true,\"CB3\",0.0,null,\"\"],[536,535,\"b\",\"DS\",true,\"IS3.1\",0.0,null,\"\"],[556,537,\"b\",\"DS\",true,\"IS3.2\",0.0,null,\"\"],[540,539,\"b\",\"CB\",true,\"CB4\",0.0,null,\"\"],[539,538,\"b\",\"DS\",true,\"IS4.1\",0.0,null,\"\"],[556,540,\"b\",\"DS\",true,\"IS4.2\",0.0,null,\"\"],[543,542,\"b\",\"CB\",true,\"CB5\",0.0,null,\"\"],[542,541,\"b\",\"DS\",true,\"IS5.1\",0.0,null,\"\"],[556,543,\"b\",\"DS\",true,\"IS5.2\",0.0,null,\"\"],[546,545,\"b\",\"CB\",true,\"CB6\",0.0,null,\"\"],[545,544,\"b\",\"DS\",true,\"IS6.1\",0.0,null,\"\"],[556,546,\"b\",\"DS\",true,\"IS6.2\",0.0,null,\"\"],[549,548,\"b\",\"CB\",true,\"CB7\",0.0,null,\"\"],[548,547,\"b\",\"DS\",true,\"IS7.1\",0.0,null,\"\"],[556,549,\"b\",\"DS\",true,\"IS7.2\",0.0,null,\"\"],[552,551,\"b\",\"CB\",true,\"CB8\",0.0,null,\"\"],[551,550,\"b\",\"DS\",true,\"IS8.1\",0.0,null,\"\"],[556,552,\"b\",\"DS\",true,\"IS8.2\",0.0,null,\"\"],[555,554,\"b\",\"CB\",true,\"CB9\",0.0,null,\"\"],[554,553,\"b\",\"DS\",true,\"IS9.1\",0.0,null,\"\"],[556,555,\"b\",\"DS\",true,\"IS9.2\",0.0,null,\"\"]]}", + "orient": "split", + "dtype": { + "bus": "int64", + "element": "int64", + "et": "object", + "type": "object", + "closed": "bool", + "name": "object", + "z_ohm": "float64", + "in_ka": "float64", + "equipment": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "shunt": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"bus\",\"name\",\"q_mvar\",\"p_mw\",\"vn_kv\",\"step\",\"max_step\",\"id_characteristic_table\",\"step_dependency_table\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "bus": "uint32", + "name": "object", + "q_mvar": "float64", + "p_mw": "float64", + "vn_kv": "float64", + "step": "uint32", + "max_step": "uint32", + "id_characteristic_table": "uint32", + "step_dependency_table": "bool", + "in_service": "bool" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "svc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"x_l_ohm\",\"x_cvar_ohm\",\"set_vm_pu\",\"thyristor_firing_angle_degree\",\"controllable\",\"in_service\",\"min_angle_degree\",\"max_angle_degree\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "uint32", + "x_l_ohm": "float64", + "x_cvar_ohm": "float64", + "set_vm_pu": "float64", + "thyristor_firing_angle_degree": "float64", + "controllable": "bool", + "in_service": "bool", + "min_angle_degree": "float64", + "max_angle_degree": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "ssc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"r_ohm\",\"x_ohm\",\"vm_internal_pu\",\"va_internal_degree\",\"set_vm_pu\",\"controllable\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "uint32", + "r_ohm": "float64", + "x_ohm": "float64", + "vm_internal_pu": "float64", + "va_internal_degree": "float64", + "set_vm_pu": "float64", + "controllable": "bool", + "in_service": "bool" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "vsc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"bus_dc\",\"r_ohm\",\"x_ohm\",\"r_dc_ohm\",\"pl_dc_mw\",\"control_mode_ac\",\"control_value_ac\",\"control_mode_dc\",\"control_value_dc\",\"controllable\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "uint32", + "bus_dc": "uint32", + "r_ohm": "float64", + "x_ohm": "float64", + "r_dc_ohm": "float64", + "pl_dc_mw": "float64", + "control_mode_ac": "object", + "control_value_ac": "float64", + "control_mode_dc": "object", + "control_value_dc": "float64", + "controllable": "bool", + "in_service": "bool" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "ext_grid": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"vm_pu\",\"va_degree\",\"slack_weight\",\"in_service\",\"controllable\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"rx_min\",\"rx_max\",\"r0x0_max\",\"x0x_max\",\"r0x0_min\",\"x0x_min\",\"description\",\"equipment\"],\"index\":[0],\"data\":[[\"Externes Netz(3)\",6,1.0,0.0,1.0,true,false,10000.0,8000.0,0.100000001490116,0.100000001490116,0.100000001490116,1.0,0.100000001490116,1.0,\"\",\"\"]]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "uint32", + "vm_pu": "float64", + "va_degree": "float64", + "slack_weight": "float64", + "in_service": "bool", + "controllable": "bool", + "s_sc_max_mva": "float64", + "s_sc_min_mva": "float64", + "rx_min": "float64", + "rx_max": "float64", + "r0x0_max": "float64", + "x0x_max": "float64", + "r0x0_min": "float64", + "x0x_min": "float64", + "description": "object", + "equipment": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "line": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"std_type\",\"from_bus\",\"to_bus\",\"length_km\",\"r_ohm_per_km\",\"x_ohm_per_km\",\"c_nf_per_km\",\"g_us_per_km\",\"max_i_ka\",\"df\",\"parallel\",\"type\",\"in_service\",\"geo\",\"r0_ohm_per_km\",\"x0_ohm_per_km\",\"c0_nf_per_km\",\"alpha\",\"temperature_degree_celsius\",\"description\",\"line_idx\",\"folder_id\",\"equipment\",\"section_idx\"],\"index\":[0,1,2,3,4,5,6],\"data\":[[\"Leitung\",\"N2XS(FL)2Y 1x630RM\\/35 64\\/110kV it\",30,83,0.100000001490116,0.030600000172853,0.125663697719574,189.999997615814209,0.0,0.828999996185303,1.0,1,\"cs\",true,\"{\\\"coordinates\\\": [[0.0, 0.0], [0.0, 0.0]], \\\"type\\\": \\\"LineString\\\"}\",0.122500002384186,0.502654790878296,190.500006079673767,0.003930000122637,90.0,\"\",0.0,\"Netz\",\"\",0],[\"Leitung(1)\",\"N2XS(FL)2Y 1x630RM\\/35 64\\/110kV it\",58,111,0.200000002980232,0.030600000172853,0.125663697719574,189.999997615814209,0.0,0.828999996185303,1.0,1,\"cs\",true,\"{\\\"coordinates\\\": [[0.0, 0.0], [0.0, 0.0]], \\\"type\\\": \\\"LineString\\\"}\",0.122500002384186,0.502654790878296,190.500006079673767,0.003930000122637,90.0,\"\",1.0,\"Netz\",\"\",0],[\"Leitung(2)\",\"N2XS(FL)2Y 1x630RM\\/35 64\\/110kV it\",282,363,0.100000001490116,0.030600000172853,0.125663697719574,189.999997615814209,0.0,0.828999996185303,1.0,1,\"cs\",true,\"{\\\"coordinates\\\": [[0.0, 0.0], [0.0, 0.0]], \\\"type\\\": \\\"LineString\\\"}\",0.122500002384186,0.502654790878296,190.500006079673767,0.003930000122637,90.0,\"\",2.0,\"Netz\",\"\",0],[\"Leitung(3)\",\"N2XS(FL)2Y 1x630RM\\/35 64\\/110kV it\",338,307,0.200000002980232,0.030600000172853,0.125663697719574,189.999997615814209,0.0,0.828999996185303,1.0,1,\"cs\",true,\"{\\\"coordinates\\\": [[0.0, 0.0], [0.0, 0.0]], \\\"type\\\": \\\"LineString\\\"}\",0.122500002384186,0.502654790878296,190.500006079673767,0.003930000122637,90.0,\"\",3.0,\"Netz\",\"\",0],[\"Leitung(4)\",\"N2XS(FL)2Y 1x630RM\\/35 64\\/110kV it\",400,419,0.200000002980232,0.030600000172853,0.125663697719574,189.999997615814209,0.0,0.828999996185303,1.0,1,\"cs\",true,\"{\\\"coordinates\\\": [[0.0, 0.0], [0.0, 0.0]], \\\"type\\\": \\\"LineString\\\"}\",0.122500002384186,0.502654790878296,190.500006079673767,0.003930000122637,90.0,\"\",4.0,\"Netz\",\"\",0],[\"Leitung(5)\",\"N2XS(FL)2Y 1x630RM\\/35 64\\/110kV it\",454,473,0.200000002980232,0.030600000172853,0.125663697719574,189.999997615814209,0.0,0.828999996185303,1.0,1,\"cs\",true,\"{\\\"coordinates\\\": [[0.0, 0.0], [0.0, 0.0]], \\\"type\\\": \\\"LineString\\\"}\",0.122500002384186,0.502654790878296,190.500006079673767,0.003930000122637,90.0,\"\",5.0,\"Netz\",\"\",0],[\"Leitung(6)\",\"N2XS(FL)2Y 1x630RM\\/35 64\\/110kV it\",510,529,0.200000002980232,0.030600000172853,0.125663697719574,189.999997615814209,0.0,0.828999996185303,1.0,1,\"cs\",true,\"{\\\"coordinates\\\": [[0.0, 0.0], [0.0, 0.0]], \\\"type\\\": \\\"LineString\\\"}\",0.122500002384186,0.502654790878296,190.500006079673767,0.003930000122637,90.0,\"\",6.0,\"Netz\",\"\",0]]}", + "orient": "split", + "dtype": { + "name": "object", + "std_type": "object", + "from_bus": "uint32", + "to_bus": "uint32", + "length_km": "float64", + "r_ohm_per_km": "float64", + "x_ohm_per_km": "float64", + "c_nf_per_km": "float64", + "g_us_per_km": "float64", + "max_i_ka": "float64", + "df": "float64", + "parallel": "uint32", + "type": "object", + "in_service": "bool", + "geo": "object", + "r0_ohm_per_km": "float64", + "x0_ohm_per_km": "float64", + "c0_nf_per_km": "float64", + "alpha": "float64", + "temperature_degree_celsius": "float64", + "description": "object", + "line_idx": "float64", + "folder_id": "object", + "equipment": "object", + "section_idx": "int64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "line_dc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"std_type\",\"from_bus_dc\",\"to_bus_dc\",\"length_km\",\"r_ohm_per_km\",\"g_us_per_km\",\"max_i_ka\",\"df\",\"parallel\",\"type\",\"in_service\",\"geo\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "std_type": "object", + "from_bus_dc": "uint32", + "to_bus_dc": "uint32", + "length_km": "float64", + "r_ohm_per_km": "float64", + "g_us_per_km": "float64", + "max_i_ka": "float64", + "df": "float64", + "parallel": "uint32", + "type": "object", + "in_service": "bool", + "geo": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "trafo": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"std_type\",\"hv_bus\",\"lv_bus\",\"sn_mva\",\"vn_hv_kv\",\"vn_lv_kv\",\"vk_percent\",\"vkr_percent\",\"pfe_kw\",\"i0_percent\",\"shift_degree\",\"tap_side\",\"tap_neutral\",\"tap_min\",\"tap_max\",\"tap_step_percent\",\"tap_step_degree\",\"tap_pos\",\"tap_changer_type\",\"id_characteristic_table\",\"tap_dependency_table\",\"parallel\",\"df\",\"in_service\",\"vk0_percent\",\"vkr0_percent\",\"mag0_percent\",\"mag0_rx\",\"si0_hv_partial\",\"tap2_changer_type\",\"leakage_resistance_ratio_hv\",\"leakage_reactance_ratio_hv\",\"tap_set_vm_pu\",\"description\",\"equipment\"],\"index\":[0,1,2,3,4,5,6],\"data\":[[\"Trafo(1)\",\"63 MVA 110\\/20 KV\",0,27,63.0,110.0,20.0,18.0,0.0,22.0,0.03999999910593,150.0,\"hv\",0,-9,9,1.5,0.0,0,\"Ratio\",null,false,1,1.0,true,0.319999992847443,0.319999992847443,100.0,0.0,0.899999976158142,null,0.5,0.5,1.0,\"\",\"\"],[\"Trafo(2)\",\"63 MVA 110\\/20 KV\",3,55,63.0,110.0,20.0,18.0,0.0,22.0,0.03999999910593,150.0,\"hv\",0,-9,9,1.5,0.0,0,\"Ratio\",null,false,1,1.0,true,0.319999992847443,0.319999992847443,100.0,0.0,0.899999976158142,null,0.5,0.5,1.0,\"\",\"\"],[\"Trafo(3)\",\"63 MVA 110\\/20 KV\",9,279,63.0,110.0,20.0,18.0,0.0,22.0,0.03999999910593,150.0,\"hv\",0,-9,9,1.5,0.0,0,\"Ratio\",null,false,1,1.0,true,0.319999992847443,0.319999992847443,100.0,0.0,0.899999976158142,null,0.5,0.5,1.0,\"\",\"\"],[\"Trafo(4)\",\"63 MVA 110\\/20 KV\",13,335,63.0,110.0,20.0,18.0,0.0,22.0,0.03999999910593,150.0,\"hv\",0,-9,9,1.5,0.0,0,\"Ratio\",null,false,1,1.0,true,0.319999992847443,0.319999992847443,100.0,0.0,0.899999976158142,null,0.5,0.5,1.0,\"\",\"\"],[\"Trafo(5)\",\"63 MVA 110\\/20 KV\",16,391,63.0,110.0,20.0,18.0,0.0,22.0,0.03999999910593,150.0,\"hv\",0,-9,9,1.5,0.0,0,\"Ratio\",null,false,1,1.0,true,0.319999992847443,0.319999992847443,100.0,0.0,0.899999976158142,null,0.5,0.5,1.0,\"\",\"\"],[\"Trafo(7)\",\"63 MVA 110\\/20 KV\",22,501,63.0,110.0,20.0,18.0,0.0,22.0,0.03999999910593,150.0,\"hv\",0,-9,9,1.5,0.0,0,\"Ratio\",null,false,1,1.0,true,0.319999992847443,0.319999992847443,100.0,0.0,0.899999976158142,null,0.5,0.5,1.0,\"\",\"\"],[\"Trafo(6)\",\"63 MVA 110\\/20 KV\",19,445,63.0,110.0,20.0,18.0,0.0,22.0,0.03999999910593,150.0,\"hv\",0,-9,9,1.5,0.0,0,\"Ratio\",null,false,1,1.0,true,0.319999992847443,0.319999992847443,100.0,0.0,0.899999976158142,null,0.5,0.5,1.0,\"\",\"\"]]}", + "orient": "split", + "dtype": { + "name": "object", + "std_type": "object", + "hv_bus": "uint32", + "lv_bus": "uint32", + "sn_mva": "float64", + "vn_hv_kv": "float64", + "vn_lv_kv": "float64", + "vk_percent": "float64", + "vkr_percent": "float64", + "pfe_kw": "float64", + "i0_percent": "float64", + "shift_degree": "float64", + "tap_side": "object", + "tap_neutral": "int32", + "tap_min": "int32", + "tap_max": "int32", + "tap_step_percent": "float64", + "tap_step_degree": "float64", + "tap_pos": "int32", + "tap_changer_type": "object", + "id_characteristic_table": "Int64", + "tap_dependency_table": "bool", + "parallel": "uint32", + "df": "float64", + "in_service": "bool", + "vk0_percent": "float64", + "vkr0_percent": "float64", + "mag0_percent": "float64", + "mag0_rx": "float64", + "si0_hv_partial": "float64", + "tap2_changer_type": "object", + "leakage_resistance_ratio_hv": "float64", + "leakage_reactance_ratio_hv": "float64", + "tap_set_vm_pu": "float64", + "description": "object", + "equipment": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "trafo3w": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"std_type\",\"hv_bus\",\"mv_bus\",\"lv_bus\",\"sn_hv_mva\",\"sn_mv_mva\",\"sn_lv_mva\",\"vn_hv_kv\",\"vn_mv_kv\",\"vn_lv_kv\",\"vk_hv_percent\",\"vk_mv_percent\",\"vk_lv_percent\",\"vkr_hv_percent\",\"vkr_mv_percent\",\"vkr_lv_percent\",\"pfe_kw\",\"i0_percent\",\"shift_mv_degree\",\"shift_lv_degree\",\"tap_side\",\"tap_neutral\",\"tap_min\",\"tap_max\",\"tap_step_percent\",\"tap_step_degree\",\"tap_pos\",\"tap_at_star_point\",\"tap_changer_type\",\"id_characteristic_table\",\"tap_dependency_table\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "std_type": "object", + "hv_bus": "uint32", + "mv_bus": "uint32", + "lv_bus": "uint32", + "sn_hv_mva": "float64", + "sn_mv_mva": "float64", + "sn_lv_mva": "float64", + "vn_hv_kv": "float64", + "vn_mv_kv": "float64", + "vn_lv_kv": "float64", + "vk_hv_percent": "float64", + "vk_mv_percent": "float64", + "vk_lv_percent": "float64", + "vkr_hv_percent": "float64", + "vkr_mv_percent": "float64", + "vkr_lv_percent": "float64", + "pfe_kw": "float64", + "i0_percent": "float64", + "shift_mv_degree": "float64", + "shift_lv_degree": "float64", + "tap_side": "object", + "tap_neutral": "int32", + "tap_min": "int32", + "tap_max": "int32", + "tap_step_percent": "float64", + "tap_step_degree": "float64", + "tap_pos": "int32", + "tap_at_star_point": "bool", + "tap_changer_type": "object", + "id_characteristic_table": "uint32", + "tap_dependency_table": "bool", + "in_service": "bool" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "impedance": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"from_bus\",\"to_bus\",\"rft_pu\",\"xft_pu\",\"rtf_pu\",\"xtf_pu\",\"gf_pu\",\"bf_pu\",\"gt_pu\",\"bt_pu\",\"sn_mva\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "from_bus": "uint32", + "to_bus": "uint32", + "rft_pu": "float64", + "xft_pu": "float64", + "rtf_pu": "float64", + "xtf_pu": "float64", + "gf_pu": "float64", + "bf_pu": "float64", + "gt_pu": "float64", + "bt_pu": "float64", + "sn_mva": "float64", + "in_service": "bool" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "tcsc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"from_bus\",\"to_bus\",\"x_l_ohm\",\"x_cvar_ohm\",\"set_p_to_mw\",\"thyristor_firing_angle_degree\",\"controllable\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "from_bus": "uint32", + "to_bus": "uint32", + "x_l_ohm": "float64", + "x_cvar_ohm": "float64", + "set_p_to_mw": "float64", + "thyristor_firing_angle_degree": "float64", + "controllable": "bool", + "in_service": "bool" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "dcline": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"from_bus\",\"to_bus\",\"p_mw\",\"loss_percent\",\"loss_mw\",\"vm_from_pu\",\"vm_to_pu\",\"max_p_mw\",\"min_q_from_mvar\",\"min_q_to_mvar\",\"max_q_from_mvar\",\"max_q_to_mvar\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "from_bus": "uint32", + "to_bus": "uint32", + "p_mw": "float64", + "loss_percent": "float64", + "loss_mw": "float64", + "vm_from_pu": "float64", + "vm_to_pu": "float64", + "max_p_mw": "float64", + "min_q_from_mvar": "float64", + "min_q_to_mvar": "float64", + "max_q_from_mvar": "float64", + "max_q_to_mvar": "float64", + "in_service": "bool" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "ward": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "uint32", + "ps_mw": "float64", + "qs_mvar": "float64", + "qz_mvar": "float64", + "pz_mw": "float64", + "in_service": "bool" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "xward": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"slack_weight\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "uint32", + "ps_mw": "float64", + "qs_mvar": "float64", + "qz_mvar": "float64", + "pz_mw": "float64", + "r_ohm": "float64", + "x_ohm": "float64", + "vm_pu": "float64", + "slack_weight": "float64", + "in_service": "bool" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "measurement": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"measurement_type\",\"element_type\",\"element\",\"value\",\"std_dev\",\"side\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "measurement_type": "object", + "element_type": "object", + "element": "uint32", + "value": "float64", + "std_dev": "float64", + "side": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "pwl_cost": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"power_type\",\"element\",\"et\",\"points\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "power_type": "object", + "element": "uint32", + "et": "object", + "points": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "poly_cost": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"element\",\"et\",\"cp0_eur\",\"cp1_eur_per_mw\",\"cp2_eur_per_mw2\",\"cq0_eur\",\"cq1_eur_per_mvar\",\"cq2_eur_per_mvar2\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "element": "uint32", + "et": "object", + "cp0_eur": "float64", + "cp1_eur_per_mw": "float64", + "cp2_eur_per_mw2": "float64", + "cq0_eur": "float64", + "cq1_eur_per_mvar": "float64", + "cq2_eur_per_mvar2": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "controller": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[0,1,2,3,4],\"data\":[[{\"_module\":\"pandapower.control.controller.station_control\",\"_class\":\"BinarySearchControl\",\"_object\":\"{\\\"index\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 0}, \\\"matching_params\\\": {}, \\\"damping_factor\\\": 0.9, \\\"counter_warning\\\": false, \\\"in_service\\\": true, \\\"input_element\\\": \\\"res_switch\\\", \\\"input_element_index\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 484}], \\\"output_element\\\": \\\"sgen\\\", \\\"output_element_index\\\": [9, 10], \\\"output_element_in_service\\\": [{\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[9],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}, {\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[10],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}], \\\"distribution_method\\\": \\\"set_Q\\\", \\\"output_values_distribution\\\": [0.16, 0.84], \\\"set_point\\\": 0.6000000238418579, \\\"bus_idx\\\": null, \\\"tol\\\": 1e-06, \\\"output_values\\\": null, \\\"output_values_old\\\": null, \\\"diff\\\": null, \\\"diff_old\\\": null, \\\"converged\\\": false, \\\"overwrite_convergence\\\": false, \\\"write_flag\\\": \\\"loc\\\", \\\"output_variable\\\": \\\"q_mvar\\\", \\\"read_flag\\\": [\\\"single_index\\\"], \\\"input_variable\\\": [\\\"q_to_mvar\\\"], \\\"input_variable_p\\\": [], \\\"input_element_in_service\\\": [true], \\\"max_q_mvar\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 4.0}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 20.0}], \\\"min_q_mvar\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -6.0}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -7.0}], \\\"control_modus\\\": \\\"Q_ctrl\\\"}\"},true,0.0,0,true,false],[{\"_module\":\"pandapower.control.controller.station_control\",\"_class\":\"BinarySearchControl\",\"_object\":\"{\\\"index\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 1}, \\\"matching_params\\\": {}, \\\"damping_factor\\\": 0.9, \\\"counter_warning\\\": false, \\\"in_service\\\": true, \\\"input_element\\\": \\\"res_switch\\\", \\\"input_element_index\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 430}], \\\"output_element\\\": \\\"sgen\\\", \\\"output_element_index\\\": [8, 7], \\\"output_element_in_service\\\": [{\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[8],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}, {\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[7],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}], \\\"distribution_method\\\": \\\"rel_rated_S\\\", \\\"output_values_distribution\\\": null, \\\"set_point\\\": 0.0, \\\"bus_idx\\\": null, \\\"tol\\\": 1e-06, \\\"output_values\\\": null, \\\"output_values_old\\\": null, \\\"diff\\\": null, \\\"diff_old\\\": null, \\\"converged\\\": false, \\\"overwrite_convergence\\\": false, \\\"write_flag\\\": \\\"loc\\\", \\\"output_variable\\\": \\\"q_mvar\\\", \\\"read_flag\\\": [\\\"single_index\\\"], \\\"input_variable\\\": [\\\"q_to_mvar\\\"], \\\"input_variable_p\\\": [\\\"p_to_mw\\\"], \\\"input_element_in_service\\\": [true], \\\"max_q_mvar\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 35.82918167114258}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 4.0}], \\\"min_q_mvar\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -12.540212631225586}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -6.0}], \\\"control_modus\\\": \\\"tan_phi_ctrl\\\"}\"},true,0.0,0,true,false],[{\"_module\":\"pandapower.control.controller.station_control\",\"_class\":\"BinarySearchControl\",\"_object\":\"{\\\"index\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 2}, \\\"matching_params\\\": {}, \\\"damping_factor\\\": 0.9, \\\"counter_warning\\\": false, \\\"in_service\\\": true, \\\"input_element\\\": \\\"res_switch\\\", \\\"input_element_index\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 376}], \\\"output_element\\\": \\\"sgen\\\", \\\"output_element_index\\\": [6, 5], \\\"output_element_in_service\\\": [{\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[6],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}, {\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[5],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}], \\\"distribution_method\\\": \\\"rel_P\\\", \\\"output_values_distribution\\\": null, \\\"set_point\\\": 0.5, \\\"bus_idx\\\": null, \\\"tol\\\": 1e-06, \\\"output_values\\\": null, \\\"output_values_old\\\": null, \\\"diff\\\": null, \\\"diff_old\\\": null, \\\"converged\\\": false, \\\"overwrite_convergence\\\": false, \\\"write_flag\\\": \\\"loc\\\", \\\"output_variable\\\": \\\"q_mvar\\\", \\\"read_flag\\\": [\\\"single_index\\\"], \\\"input_variable\\\": [\\\"q_to_mvar\\\"], \\\"input_variable_p\\\": [\\\"p_to_mw\\\"], \\\"input_element_in_service\\\": [true], \\\"max_q_mvar\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 4.0}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 20.0}], \\\"min_q_mvar\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -6.0}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -7.0}], \\\"control_modus\\\": \\\"PF_ctrl\\\", \\\"reactance\\\": 1}\"},true,0.0,0,true,false],[{\"_module\":\"pandapower.control.controller.station_control\",\"_class\":\"BinarySearchControl\",\"_object\":\"{\\\"index\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 3}, \\\"matching_params\\\": {}, \\\"damping_factor\\\": 0.9, \\\"counter_warning\\\": false, \\\"in_service\\\": true, \\\"input_element\\\": \\\"res_switch\\\", \\\"input_element_index\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 349}], \\\"output_element\\\": \\\"sgen\\\", \\\"output_element_index\\\": [1, 4, 2], \\\"output_element_in_service\\\": [{\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[1],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}, {\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[4],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}, {\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[2],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}], \\\"distribution_method\\\": \\\"max_Q\\\", \\\"output_values_distribution\\\": null, \\\"set_point\\\": 0.20000000298023224, \\\"bus_idx\\\": null, \\\"tol\\\": 1e-06, \\\"output_values\\\": null, \\\"output_values_old\\\": null, \\\"diff\\\": null, \\\"diff_old\\\": null, \\\"converged\\\": false, \\\"overwrite_convergence\\\": false, \\\"write_flag\\\": \\\"loc\\\", \\\"output_variable\\\": \\\"q_mvar\\\", \\\"read_flag\\\": [\\\"single_index\\\"], \\\"input_variable\\\": [\\\"q_to_mvar\\\"], \\\"input_variable_p\\\": [\\\"p_to_mw\\\"], \\\"input_element_in_service\\\": [true], \\\"max_q_mvar\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 20.0}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 0.0}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 4.0}], \\\"min_q_mvar\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -7.0}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -20.0}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -6.0}], \\\"control_modus\\\": \\\"PF_ctrl\\\", \\\"reactance\\\": -1}\"},true,0.0,0,true,false],[{\"_module\":\"pandapower.control.controller.station_control\",\"_class\":\"BinarySearchControl\",\"_object\":\"{\\\"index\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 4}, \\\"matching_params\\\": {}, \\\"damping_factor\\\": 0.9, \\\"counter_warning\\\": false, \\\"in_service\\\": true, \\\"input_element\\\": \\\"res_switch\\\", \\\"input_element_index\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 78}], \\\"output_element\\\": \\\"sgen\\\", \\\"output_element_index\\\": [3, 0], \\\"output_element_in_service\\\": [{\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[3],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}, {\\\"_module\\\": \\\"pandas.core.series\\\", \\\"_class\\\": \\\"Series\\\", \\\"_object\\\": \\\"{\\\\\\\"name\\\\\\\":\\\\\\\"in_service\\\\\\\",\\\\\\\"index\\\\\\\":[0],\\\\\\\"data\\\\\\\":[true]}\\\", \\\"dtype\\\": \\\"bool\\\", \\\"orient\\\": \\\"split\\\", \\\"typ\\\": \\\"series\\\", \\\"is_multiindex\\\": false}], \\\"distribution_method\\\": \\\"rel_V_pu\\\", \\\"output_values_distribution\\\": [[0.8899999856948853, 0.800000011920929, 1.2999999523162842], [0.9800000190734863, 0.949999988079071, 1.100000023841858]], \\\"set_point\\\": 0.5, \\\"bus_idx\\\": null, \\\"tol\\\": 1e-06, \\\"output_values\\\": null, \\\"output_values_old\\\": null, \\\"diff\\\": null, \\\"diff_old\\\": null, \\\"converged\\\": false, \\\"overwrite_convergence\\\": false, \\\"write_flag\\\": \\\"loc\\\", \\\"output_variable\\\": \\\"q_mvar\\\", \\\"read_flag\\\": [\\\"single_index\\\"], \\\"input_variable\\\": [\\\"q_to_mvar\\\"], \\\"input_variable_p\\\": [\\\"p_to_mw\\\"], \\\"input_element_in_service\\\": [true], \\\"max_q_mvar\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 28.100000381469727}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 28.100000381469727}], \\\"min_q_mvar\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -50.0}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -28.100000381469727}], \\\"bus_idx_dist\\\": [], \\\"v_set_point_pu\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"array\\\", \\\"_object\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 0.8899999856948853}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 0.9800000190734863}], \\\"dtype\\\": \\\"float64\\\"}, \\\"v_min_pu\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"array\\\", \\\"_object\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 0.800000011920929}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 0.949999988079071}], \\\"dtype\\\": \\\"float64\\\"}, \\\"v_max_pu\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"array\\\", \\\"_object\\\": [{\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 1.2999999523162842}, {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 1.100000023841858}], \\\"dtype\\\": \\\"float64\\\"}, \\\"control_modus\\\": \\\"tan_phi_ctrl\\\"}\"},true,0.0,0,true,false]]}", + "orient": "split", + "dtype": { + "object": "object", + "in_service": "bool", + "order": "float64", + "level": "object", + "initial_run": "bool", + "recycle": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "group": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"element_type\",\"element_index\",\"reference_column\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "name": "object", + "element_type": "object", + "element_index": "object", + "reference_column": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "version": "3.0.0.dev1", + "format_version": "3.0.0", + "converged": false, + "OPF_converged": false, + "name": "Gesamtnetz", + "f_hz": 50.0, + "sn_mva": 100.0, + "std_types": { + "line": { + "NAYY 4x120 SE": { + "c_nf_per_km": 264, + "r_ohm_per_km": 0.225, + "x_ohm_per_km": 0.08, + "max_i_ka": 0.242, + "type": "cs", + "q_mm2": 120, + "alpha": 0.00403, + "voltage_rating": "LV" + }, + "94-AL1/15-ST1A 20.0": { + "c_nf_per_km": 10, + "r_ohm_per_km": 0.306, + "x_ohm_per_km": 0.35, + "max_i_ka": 0.35, + "type": "ol", + "q_mm2": 94, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "679-AL1/86-ST1A 380.0": { + "c_nf_per_km": 14.6, + "r_ohm_per_km": 0.042, + "x_ohm_per_km": 0.25, + "max_i_ka": 1.15, + "type": "ol", + "q_mm2": 679, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "NA2XS2Y 1x70 RM/25 6/10 kV": { + "c_nf_per_km": 280, + "r_ohm_per_km": 0.443, + "x_ohm_per_km": 0.123, + "max_i_ka": 0.217, + "type": "cs", + "q_mm2": 70, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "70-AL1/11-ST1A 20.0": { + "c_nf_per_km": 9.7, + "r_ohm_per_km": 0.4132, + "x_ohm_per_km": 0.36, + "max_i_ka": 0.29, + "type": "ol", + "q_mm2": 70, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "490-AL1/64-ST1A 220.0": { + "c_nf_per_km": 10, + "r_ohm_per_km": 0.059, + "x_ohm_per_km": 0.285, + "max_i_ka": 0.96, + "type": "ol", + "q_mm2": 490, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "NAYY 4x50 SE": { + "c_nf_per_km": 210, + "r_ohm_per_km": 0.642, + "x_ohm_per_km": 0.083, + "max_i_ka": 0.142, + "type": "cs", + "q_mm2": 50, + "alpha": 0.00403, + "voltage_rating": "LV" + }, + "NA2XS2Y 1x240 RM/25 12/20 kV": { + "c_nf_per_km": 304, + "r_ohm_per_km": 0.122, + "x_ohm_per_km": 0.112, + "max_i_ka": 0.421, + "type": "cs", + "q_mm2": 240, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "NAYY 4x150 SE": { + "c_nf_per_km": 261, + "r_ohm_per_km": 0.208, + "x_ohm_per_km": 0.08, + "max_i_ka": 0.27, + "type": "cs", + "q_mm2": 150, + "alpha": 0.00403, + "voltage_rating": "LV" + }, + "94-AL1/15-ST1A 10.0": { + "c_nf_per_km": 10.75, + "r_ohm_per_km": 0.306, + "x_ohm_per_km": 0.33, + "max_i_ka": 0.35, + "type": "ol", + "q_mm2": 94, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "NA2XS2Y 1x185 RM/25 12/20 kV": { + "c_nf_per_km": 273, + "r_ohm_per_km": 0.161, + "x_ohm_per_km": 0.117, + "max_i_ka": 0.362, + "type": "cs", + "q_mm2": 185, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "NA2XS2Y 1x120 RM/25 12/20 kV": { + "c_nf_per_km": 230, + "r_ohm_per_km": 0.253, + "x_ohm_per_km": 0.119, + "max_i_ka": 0.283, + "type": "cs", + "q_mm2": 120, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "N2XS(FL)2Y 1x300 RM/35 64/110 kV": { + "c_nf_per_km": 144, + "r_ohm_per_km": 0.06, + "x_ohm_per_km": 0.144, + "max_i_ka": 0.588, + "type": "cs", + "q_mm2": 300, + "alpha": 0.00393, + "voltage_rating": "HV" + }, + "122-AL1/20-ST1A 110.0": { + "c_nf_per_km": 8.5, + "r_ohm_per_km": 0.2376, + "x_ohm_per_km": 0.43, + "max_i_ka": 0.41, + "type": "ol", + "q_mm2": 122, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "24-AL1/4-ST1A 0.4": { + "c_nf_per_km": 11.25, + "r_ohm_per_km": 1.2012, + "x_ohm_per_km": 0.335, + "max_i_ka": 0.14, + "type": "ol", + "q_mm2": 24, + "alpha": 0.00403, + "voltage_rating": "LV" + }, + "184-AL1/30-ST1A 20.0": { + "c_nf_per_km": 10.75, + "r_ohm_per_km": 0.1571, + "x_ohm_per_km": 0.33, + "max_i_ka": 0.535, + "type": "ol", + "q_mm2": 184, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "305-AL1/39-ST1A 110.0": { + "c_nf_per_km": 9.2, + "r_ohm_per_km": 0.0949, + "x_ohm_per_km": 0.38, + "max_i_ka": 0.74, + "type": "ol", + "q_mm2": 305, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "679-AL1/86-ST1A 220.0": { + "c_nf_per_km": 11.7, + "r_ohm_per_km": 0.042, + "x_ohm_per_km": 0.275, + "max_i_ka": 1.15, + "type": "ol", + "q_mm2": 679, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "N2XS(FL)2Y 1x630RM/35 64/110kV it": { + "r_ohm_per_km": 0.03060000017285347, + "x_ohm_per_km": 0.12566369771957397, + "c_nf_per_km": 189.9999976158142, + "q_mm2": 630.0, + "max_i_ka": 0.8289999961853027, + "endtemp_degree": 250.0, + "type": "cs", + "r0_ohm_per_km": 0.12250000238418579, + "x0_ohm_per_km": 0.5026547908782959, + "c0_nf_per_km": 190.50000607967377, + "alpha": 0.003930000122636557 + }, + "NA2XS2Y 1x150 RM/25 12/20 kV": { + "c_nf_per_km": 250, + "r_ohm_per_km": 0.206, + "x_ohm_per_km": 0.116, + "max_i_ka": 0.319, + "type": "cs", + "q_mm2": 150, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "NA2XS2Y 1x95 RM/25 6/10 kV": { + "c_nf_per_km": 315, + "r_ohm_per_km": 0.313, + "x_ohm_per_km": 0.123, + "max_i_ka": 0.249, + "type": "cs", + "q_mm2": 95, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "N2XS(FL)2Y 1x240 RM/35 64/110 kV": { + "c_nf_per_km": 135, + "r_ohm_per_km": 0.075, + "x_ohm_per_km": 0.149, + "max_i_ka": 0.526, + "type": "cs", + "q_mm2": 240, + "alpha": 0.00393, + "voltage_rating": "HV" + }, + "122-AL1/20-ST1A 10.0": { + "c_nf_per_km": 11.1, + "r_ohm_per_km": 0.2376, + "x_ohm_per_km": 0.323, + "max_i_ka": 0.41, + "type": "ol", + "q_mm2": 122, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "34-AL1/6-ST1A 10.0": { + "c_nf_per_km": 9.7, + "r_ohm_per_km": 0.8342, + "x_ohm_per_km": 0.36, + "max_i_ka": 0.17, + "type": "ol", + "q_mm2": 34, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "15-AL1/3-ST1A 0.4": { + "c_nf_per_km": 11, + "r_ohm_per_km": 1.8769, + "x_ohm_per_km": 0.35, + "max_i_ka": 0.105, + "type": "ol", + "q_mm2": 16, + "alpha": 0.00403, + "voltage_rating": "LV" + }, + "243-AL1/39-ST1A 20.0": { + "c_nf_per_km": 11, + "r_ohm_per_km": 0.1188, + "x_ohm_per_km": 0.32, + "max_i_ka": 0.645, + "type": "ol", + "q_mm2": 243, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "243-AL1/39-ST1A 110.0": { + "c_nf_per_km": 9, + "r_ohm_per_km": 0.1188, + "x_ohm_per_km": 0.39, + "max_i_ka": 0.645, + "type": "ol", + "q_mm2": 243, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "NA2XS2Y 1x70 RM/25 12/20 kV": { + "c_nf_per_km": 190, + "r_ohm_per_km": 0.443, + "x_ohm_per_km": 0.132, + "max_i_ka": 0.22, + "type": "cs", + "q_mm2": 70, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "490-AL1/64-ST1A 110.0": { + "c_nf_per_km": 9.75, + "r_ohm_per_km": 0.059, + "x_ohm_per_km": 0.37, + "max_i_ka": 0.96, + "type": "ol", + "q_mm2": 490, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "94-AL1/15-ST1A 110.0": { + "c_nf_per_km": 8.65, + "r_ohm_per_km": 0.306, + "x_ohm_per_km": 0.44, + "max_i_ka": 0.35, + "type": "ol", + "q_mm2": 94, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "N2XS(FL)2Y 1x185 RM/35 64/110 kV": { + "c_nf_per_km": 125, + "r_ohm_per_km": 0.099, + "x_ohm_per_km": 0.156, + "max_i_ka": 0.457, + "type": "cs", + "q_mm2": 185, + "alpha": 0.00393, + "voltage_rating": "HV" + }, + "34-AL1/6-ST1A 20.0": { + "c_nf_per_km": 9.15, + "r_ohm_per_km": 0.8342, + "x_ohm_per_km": 0.382, + "max_i_ka": 0.17, + "type": "ol", + "q_mm2": 34, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "48-AL1/8-ST1A 10.0": { + "c_nf_per_km": 10.1, + "r_ohm_per_km": 0.5939, + "x_ohm_per_km": 0.35, + "max_i_ka": 0.21, + "type": "ol", + "q_mm2": 48, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "94-AL1/15-ST1A 0.4": { + "c_nf_per_km": 13.2, + "r_ohm_per_km": 0.306, + "x_ohm_per_km": 0.29, + "max_i_ka": 0.35, + "type": "ol", + "q_mm2": 94, + "alpha": 0.00403, + "voltage_rating": "LV" + }, + "NA2XS2Y 1x185 RM/25 6/10 kV": { + "c_nf_per_km": 406, + "r_ohm_per_km": 0.161, + "x_ohm_per_km": 0.11, + "max_i_ka": 0.358, + "type": "cs", + "q_mm2": 185, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "184-AL1/30-ST1A 110.0": { + "c_nf_per_km": 8.8, + "r_ohm_per_km": 0.1571, + "x_ohm_per_km": 0.4, + "max_i_ka": 0.535, + "type": "ol", + "q_mm2": 184, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "48-AL1/8-ST1A 0.4": { + "c_nf_per_km": 12.2, + "r_ohm_per_km": 0.5939, + "x_ohm_per_km": 0.3, + "max_i_ka": 0.21, + "type": "ol", + "q_mm2": 48, + "alpha": 0.00403, + "voltage_rating": "LV" + }, + "149-AL1/24-ST1A 110.0": { + "c_nf_per_km": 8.75, + "r_ohm_per_km": 0.194, + "x_ohm_per_km": 0.41, + "max_i_ka": 0.47, + "type": "ol", + "q_mm2": 149, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "NA2XS2Y 1x120 RM/25 6/10 kV": { + "c_nf_per_km": 340, + "r_ohm_per_km": 0.253, + "x_ohm_per_km": 0.113, + "max_i_ka": 0.28, + "type": "cs", + "q_mm2": 120, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "N2XS(FL)2Y 1x120 RM/35 64/110 kV": { + "c_nf_per_km": 112, + "r_ohm_per_km": 0.153, + "x_ohm_per_km": 0.166, + "max_i_ka": 0.366, + "type": "cs", + "q_mm2": 120, + "alpha": 0.00393, + "voltage_rating": "HV" + }, + "70-AL1/11-ST1A 10.0": { + "c_nf_per_km": 10.4, + "r_ohm_per_km": 0.4132, + "x_ohm_per_km": 0.339, + "max_i_ka": 0.29, + "type": "ol", + "q_mm2": 70, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "149-AL1/24-ST1A 10.0": { + "c_nf_per_km": 11.25, + "r_ohm_per_km": 0.194, + "x_ohm_per_km": 0.315, + "max_i_ka": 0.47, + "type": "ol", + "q_mm2": 149, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "70-AL1/11-ST1A 110.0": { + "c_nf_per_km": 8.4, + "r_ohm_per_km": 0.4132, + "x_ohm_per_km": 0.45, + "max_i_ka": 0.29, + "type": "ol", + "q_mm2": 70, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "NA2XS2Y 1x150 RM/25 6/10 kV": { + "c_nf_per_km": 360, + "r_ohm_per_km": 0.206, + "x_ohm_per_km": 0.11, + "max_i_ka": 0.315, + "type": "cs", + "q_mm2": 150, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "48-AL1/8-ST1A 20.0": { + "c_nf_per_km": 9.5, + "r_ohm_per_km": 0.5939, + "x_ohm_per_km": 0.372, + "max_i_ka": 0.21, + "type": "ol", + "q_mm2": 48, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "679-AL1/86-ST1A 110.0": { + "c_nf_per_km": 9.95, + "r_ohm_per_km": 0.042, + "x_ohm_per_km": 0.36, + "max_i_ka": 1.15, + "type": "ol", + "q_mm2": 679, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "48-AL1/8-ST1A 110.0": { + "c_nf_per_km": 8, + "r_ohm_per_km": 0.5939, + "x_ohm_per_km": 0.46, + "max_i_ka": 0.21, + "type": "ol", + "q_mm2": 48, + "alpha": 0.00403, + "voltage_rating": "HV" + }, + "122-AL1/20-ST1A 20.0": { + "c_nf_per_km": 10.3, + "r_ohm_per_km": 0.2376, + "x_ohm_per_km": 0.344, + "max_i_ka": 0.41, + "type": "ol", + "q_mm2": 122, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "NA2XS2Y 1x95 RM/25 12/20 kV": { + "c_nf_per_km": 216, + "r_ohm_per_km": 0.313, + "x_ohm_per_km": 0.132, + "max_i_ka": 0.252, + "type": "cs", + "q_mm2": 95, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "NA2XS2Y 1x240 RM/25 6/10 kV": { + "c_nf_per_km": 456, + "r_ohm_per_km": 0.122, + "x_ohm_per_km": 0.105, + "max_i_ka": 0.416, + "type": "cs", + "q_mm2": 240, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "149-AL1/24-ST1A 20.0": { + "c_nf_per_km": 10.5, + "r_ohm_per_km": 0.194, + "x_ohm_per_km": 0.337, + "max_i_ka": 0.47, + "type": "ol", + "q_mm2": 149, + "alpha": 0.00403, + "voltage_rating": "MV" + }, + "490-AL1/64-ST1A 380.0": { + "c_nf_per_km": 11, + "r_ohm_per_km": 0.059, + "x_ohm_per_km": 0.253, + "max_i_ka": 0.96, + "type": "ol", + "q_mm2": 490, + "alpha": 0.00403, + "voltage_rating": "HV" + } + }, + "line_dc": { + "95-CU": { + "r_ohm_per_km": 0.193, + "max_i_ka": 0.404, + "type": "cs", + "q_mm2": 95, + "alpha": 0.00393 + }, + "400-CU": { + "r_ohm_per_km": 0.047, + "max_i_ka": 0.922, + "type": "cs", + "q_mm2": 400, + "alpha": 0.00393 + }, + "1200-CU": { + "r_ohm_per_km": 0.0151, + "max_i_ka": 1.791, + "type": "cs", + "q_mm2": 1200, + "alpha": 0.00393 + }, + "2400-CU": { + "r_ohm_per_km": 0.0073, + "max_i_ka": 2.678, + "type": "cs", + "q_mm2": 2400, + "alpha": 0.00393 + }, + "95-AL": { + "r_ohm_per_km": 0.32, + "max_i_ka": 0.31, + "type": "cs", + "q_mm2": 95, + "alpha": 0.00403 + }, + "400-AL": { + "r_ohm_per_km": 0.0778, + "max_i_ka": 0.705, + "type": "cs", + "q_mm2": 400, + "alpha": 0.00403 + }, + "1200-AL": { + "r_ohm_per_km": 0.0247, + "max_i_ka": 1.371, + "type": "cs", + "q_mm2": 1200, + "alpha": 0.00403 + }, + "2400-AL": { + "r_ohm_per_km": 0.0121, + "max_i_ka": 2.066, + "type": "cs", + "q_mm2": 2400, + "alpha": 0.00403 + } + }, + "trafo": { + "25 MVA 110/10 kV": { + "sn_mva": 25, + "vn_hv_kv": 110, + "vn_lv_kv": 10, + "vk_percent": 12, + "vkr_percent": 0.41, + "pfe_kw": 14, + "i0_percent": 0.07, + "shift_degree": 150, + "vector_group": "YNd5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -9, + "tap_max": 9, + "tap_step_degree": 0, + "tap_step_percent": 1.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "63 MVA 110/10 kV": { + "sn_mva": 63, + "vn_hv_kv": 110, + "vn_lv_kv": 10, + "vk_percent": 18, + "vkr_percent": 0.32, + "pfe_kw": 22, + "i0_percent": 0.04, + "shift_degree": 150, + "vector_group": "YNd5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -9, + "tap_max": 9, + "tap_step_degree": 0, + "tap_step_percent": 1.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "63 MVA 110/20 KV": { + "sn_mva": 63.0, + "vn_hv_kv": 110.0, + "vn_lv_kv": 20.0, + "vk_percent": 18.0, + "vkr_percent": 0.0, + "pfe_kw": 22.0, + "i0_percent": 0.03999999910593033, + "shift_degree": 150.0, + "vector_group": "YNyn", + "vk0_percent": 0.3199999928474426, + "vkr0_percent": 0.3199999928474426, + "mag0_percent": 100.0, + "mag0_rx": 0.0, + "si0_hv_partial": 0.8999999761581421, + "tap_side": "hv", + "tap_changer_type": "Ratio", + "tap2_changer_type": null, + "tap_step_percent": 1.5, + "tap_step_degree": 0.0, + "tap_max": 9, + "tap_min": -9, + "tap_neutral": 0 + }, + "40 MVA 110/10 kV": { + "sn_mva": 40, + "vn_hv_kv": 110, + "vn_lv_kv": 10, + "vk_percent": 16.2, + "vkr_percent": 0.34, + "pfe_kw": 18, + "i0_percent": 0.05, + "shift_degree": 150, + "vector_group": "YNd5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -9, + "tap_max": 9, + "tap_step_degree": 0, + "tap_step_percent": 1.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "0.63 MVA 10/0.4 kV": { + "sn_mva": 0.63, + "vn_hv_kv": 10, + "vn_lv_kv": 0.4, + "vk_percent": 4, + "vkr_percent": 1.0794, + "pfe_kw": 1.18, + "i0_percent": 0.1873, + "shift_degree": 150, + "vector_group": "Dyn5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -2, + "tap_max": 2, + "tap_step_degree": 0, + "tap_step_percent": 2.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "0.4 MVA 20/0.4 kV": { + "sn_mva": 0.4, + "vn_hv_kv": 20, + "vn_lv_kv": 0.4, + "vk_percent": 6, + "vkr_percent": 1.425, + "pfe_kw": 1.35, + "i0_percent": 0.3375, + "shift_degree": 150, + "vector_group": "Dyn5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -2, + "tap_max": 2, + "tap_step_degree": 0, + "tap_step_percent": 2.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "63 MVA 110/20 kV": { + "i0_percent": 0.04, + "pfe_kw": 22, + "vkr_percent": 0.32, + "sn_mva": 63, + "vn_lv_kv": 20.0, + "vn_hv_kv": 110.0, + "vk_percent": 18, + "shift_degree": 150, + "vector_group": "YNd5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -9, + "tap_max": 9, + "tap_step_degree": 0, + "tap_step_percent": 1.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "40 MVA 110/20 kV": { + "i0_percent": 0.05, + "pfe_kw": 18, + "vkr_percent": 0.34, + "sn_mva": 40, + "vn_lv_kv": 20.0, + "vn_hv_kv": 110.0, + "vk_percent": 16.2, + "shift_degree": 150, + "vector_group": "YNd5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -9, + "tap_max": 9, + "tap_step_degree": 0, + "tap_step_percent": 1.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "0.25 MVA 20/0.4 kV": { + "sn_mva": 0.25, + "vn_hv_kv": 20, + "vn_lv_kv": 0.4, + "vk_percent": 6, + "vkr_percent": 1.44, + "pfe_kw": 0.8, + "i0_percent": 0.32, + "shift_degree": 150, + "vector_group": "Yzn5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -2, + "tap_max": 2, + "tap_step_degree": 0, + "tap_step_percent": 2.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "160 MVA 380/110 kV": { + "i0_percent": 0.06, + "pfe_kw": 60, + "vkr_percent": 0.25, + "sn_mva": 160, + "vn_lv_kv": 110.0, + "vn_hv_kv": 380.0, + "vk_percent": 12.2, + "shift_degree": 0, + "vector_group": "Yy0", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -9, + "tap_max": 9, + "tap_step_degree": 0, + "tap_step_percent": 1.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "100 MVA 220/110 kV": { + "i0_percent": 0.06, + "pfe_kw": 55, + "vkr_percent": 0.26, + "sn_mva": 100, + "vn_lv_kv": 110.0, + "vn_hv_kv": 220.0, + "vk_percent": 12.0, + "shift_degree": 0, + "vector_group": "Yy0", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -9, + "tap_max": 9, + "tap_step_degree": 0, + "tap_step_percent": 1.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "0.63 MVA 20/0.4 kV": { + "sn_mva": 0.63, + "vn_hv_kv": 20, + "vn_lv_kv": 0.4, + "vk_percent": 6, + "vkr_percent": 1.206, + "pfe_kw": 1.65, + "i0_percent": 0.2619, + "shift_degree": 150, + "vector_group": "Dyn5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -2, + "tap_max": 2, + "tap_step_degree": 0, + "tap_step_percent": 2.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "25 MVA 110/20 kV": { + "i0_percent": 0.07, + "pfe_kw": 14, + "vkr_percent": 0.41, + "sn_mva": 25, + "vn_lv_kv": 20.0, + "vn_hv_kv": 110.0, + "vk_percent": 12, + "shift_degree": 150, + "vector_group": "YNd5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -9, + "tap_max": 9, + "tap_step_degree": 0, + "tap_step_percent": 1.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "0.25 MVA 10/0.4 kV": { + "sn_mva": 0.25, + "vn_hv_kv": 10, + "vn_lv_kv": 0.4, + "vk_percent": 4, + "vkr_percent": 1.2, + "pfe_kw": 0.6, + "i0_percent": 0.24, + "shift_degree": 150, + "vector_group": "Dyn5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -2, + "tap_max": 2, + "tap_step_degree": 0, + "tap_step_percent": 2.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "0.4 MVA 10/0.4 kV": { + "sn_mva": 0.4, + "vn_hv_kv": 10, + "vn_lv_kv": 0.4, + "vk_percent": 4, + "vkr_percent": 1.325, + "pfe_kw": 0.95, + "i0_percent": 0.2375, + "shift_degree": 150, + "vector_group": "Dyn5", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -2, + "tap_max": 2, + "tap_step_degree": 0, + "tap_step_percent": 2.5, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + } + }, + "trafo3w": { + "63/25/38 MVA 110/20/10 kV": { + "sn_hv_mva": 63, + "sn_mv_mva": 25, + "sn_lv_mva": 38, + "vn_hv_kv": 110, + "vn_mv_kv": 20, + "vn_lv_kv": 10, + "vk_hv_percent": 10.4, + "vk_mv_percent": 10.4, + "vk_lv_percent": 10.4, + "vkr_hv_percent": 0.28, + "vkr_mv_percent": 0.32, + "vkr_lv_percent": 0.35, + "pfe_kw": 35, + "i0_percent": 0.89, + "shift_mv_degree": 0, + "shift_lv_degree": 0, + "vector_group": "YN0yn0yn0", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -10, + "tap_max": 10, + "tap_step_percent": 1.2, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + }, + "63/25/38 MVA 110/10/10 kV": { + "sn_hv_mva": 63, + "sn_mv_mva": 25, + "sn_lv_mva": 38, + "vn_hv_kv": 110, + "vn_mv_kv": 10, + "vn_lv_kv": 10, + "vk_hv_percent": 10.4, + "vk_mv_percent": 10.4, + "vk_lv_percent": 10.4, + "vkr_hv_percent": 0.28, + "vkr_mv_percent": 0.32, + "vkr_lv_percent": 0.35, + "pfe_kw": 35, + "i0_percent": 0.89, + "shift_mv_degree": 0, + "shift_lv_degree": 0, + "vector_group": "YN0yn0yn0", + "tap_side": "hv", + "tap_neutral": 0, + "tap_min": -10, + "tap_max": 10, + "tap_step_percent": 1.2, + "tap_changer_type": "Ratio", + "trafo_characteristic_table": false + } + }, + "fuse": { + "HV 100A": { + "fuse_type": "HV 100A", + "i_rated_a": 100.0, + "t_avg": 0, + "t_min": [ + 10.0, + 3.64, + 0.854, + 0.281, + 0.1, + 0.0531, + 0.022, + 0.01 + ], + "t_total": [ + 10.0, + 4.267, + 1.21, + 0.403, + 0.1, + 0.058, + 0.022, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 300.0, + 350.0, + 450.0, + 550.0, + 700.0, + 850.0, + 1200.0, + 1752.0 + ], + "x_total": [ + 600.0, + 700.0, + 900.0, + 1150.0, + 1665.0, + 2000.0, + 3000.0, + 4313.0 + ] + }, + "HV 10A": { + "fuse_type": "HV 10A", + "i_rated_a": 10.0, + "t_avg": 0, + "t_min": [ + 10.0, + 1675.0, + 0.344, + 0.156, + 0.1, + 0.0417, + 0.0171, + 0.01 + ], + "t_total": [ + 10.0, + 1.3, + 0.3, + 0.155, + 0.1, + 0.0555, + 0.023, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 30.0, + 32.0, + 35.0, + 37.0, + 39.0, + 50.0, + 70.0, + 88.0 + ], + "x_total": [ + 60.0, + 70.0, + 80.0, + 87.0, + 94.0, + 110.0, + 150.0, + 216.0 + ] + }, + "HV 125A": { + "fuse_type": "HV 125A", + "i_rated_a": 125.0, + "t_avg": 0, + "t_min": [ + 10.0, + 1.82, + 0.344, + 0.1, + 0.0467, + 0.0269, + 0.01 + ], + "t_total": [ + 10.0, + 2.478, + 0.426, + 0.1, + 0.0427, + 0.0211, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 375.0, + 500.0, + 700.0, + 925.0, + 1200.0, + 1500.0, + 2341.0 + ], + "x_total": [ + 750.0, + 1000.0, + 1500.0, + 2200.0, + 3000.0, + 4000.0, + 5765.0 + ] + }, + "HV 160A": { + "fuse_type": "HV 160A", + "i_rated_a": 160.0, + "t_avg": 0, + "t_min": [ + 10.0, + 4.15, + 1.03, + 0.198, + 0.1, + 0.051, + 0.0172, + 0.01 + ], + "t_total": [ + 10.0, + 2.3, + 0.734, + 0.274, + 0.1, + 0.046, + 0.0177, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 480.0, + 550.0, + 700.0, + 1000.0, + 1260.0, + 1600.0, + 2500.0, + 3227.0 + ], + "x_total": [ + 960.0, + 1300.0, + 1700.0, + 2200.0, + 2996.0, + 4000.0, + 6000.0, + 7946.0 + ] + }, + "HV 16A": { + "fuse_type": "HV 16A", + "i_rated_a": 16.0, + "t_avg": 0, + "t_min": [ + 10.0, + 0.352, + 0.164, + 0.1, + 0.0649, + 0.0342, + 0.01 + ], + "t_total": [ + 10.0, + 2.34, + 0.722, + 0.181, + 0.1, + 0.055, + 0.0296, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 48.0, + 60.0, + 65.0, + 71.0, + 80.0, + 100.0, + 162.0 + ], + "x_total": [ + 96.0, + 110.0, + 125.0, + 150.0, + 168.0, + 200.0, + 250.0, + 398.0 + ] + }, + "HV 200A": { + "fuse_type": "HV 200A", + "i_rated_a": 200.0, + "t_avg": 0, + "t_min": [ + 10.0, + 4.267, + 1.21, + 0.403, + 0.1, + 0.058, + 0.022, + 0.01 + ], + "t_total": [ + 10.0, + 3.73, + 1.654, + 0.328, + 0.1, + 0.0531, + 0.019, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 600.0, + 700.0, + 900.0, + 1150.0, + 1665.0, + 2000.0, + 3000.0, + 4313.0 + ], + "x_total": [ + 1200.0, + 1500.0, + 1800.0, + 2700.0, + 3960.0, + 5000.0, + 7500.0, + 10620.0 + ] + }, + "HV 20A": { + "fuse_type": "HV 20A", + "i_rated_a": 20.0, + "t_avg": 0, + "t_min": [ + 10.0, + 1.3, + 0.3, + 0.155, + 0.1, + 0.0555, + 0.023, + 0.01 + ], + "t_total": [ + 10.0, + 1.3, + 0.161, + 0.1, + 0.0611, + 0.0399, + 0.0141, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 60.0, + 70.0, + 80.0, + 87.0, + 94.0, + 110.0, + 150.0, + 216.0 + ], + "x_total": [ + 120.0, + 150.0, + 200.0, + 223.0, + 260.0, + 300.0, + 450.0, + 532.0 + ] + }, + "HV 25A": { + "fuse_type": "HV 25A", + "i_rated_a": 25.0, + "t_avg": 0, + "t_min": [ + 10.0, + 2.512, + 0.833, + 0.299, + 0.1, + 0.0372, + 0.0223, + 0.01 + ], + "t_total": [ + 10.0, + 3.125, + 0.597, + 0.198, + 0.1, + 0.0378, + 0.022, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 75.0, + 82.0, + 90.0, + 100.0, + 124.0, + 170.0, + 200.0, + 289.0 + ], + "x_total": [ + 150.0, + 170.0, + 210.0, + 250.0, + 294.0, + 400.0, + 500.0, + 711.0 + ] + }, + "HV 31.5A": { + "fuse_type": "HV 31.5A", + "i_rated_a": 31.5, + "t_avg": 0, + "t_min": [ + 10.0, + 2.34, + 0.722, + 0.181, + 0.1, + 0.055, + 0.0296, + 0.01 + ], + "t_total": [ + 10.0, + 2.84, + 0.368, + 0.164, + 0.1, + 0.0621, + 0.0378, + 0.0195, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 95.0, + 110.0, + 125.0, + 150.0, + 165.0, + 200.0, + 250.0, + 390.0 + ], + "x_total": [ + 189.0, + 220.0, + 300.0, + 350.0, + 393.0, + 450.0, + 530.0, + 700.0, + 960.0 + ] + }, + "HV 40A": { + "fuse_type": "HV 40A", + "i_rated_a": 40.0, + "t_avg": 0, + "t_min": [ + 10.0, + 1.3, + 0.161, + 0.1, + 0.0611, + 0.0399, + 0.0141, + 0.01 + ], + "t_total": [ + 10.0, + 2.05, + 0.369, + 0.198, + 0.1, + 0.051, + 0.0298, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 120.0, + 150.0, + 200.0, + 223.0, + 260.0, + 300.0, + 450.0, + 532.0 + ], + "x_total": [ + 240.0, + 300.0, + 400.0, + 450.0, + 530.0, + 650.0, + 800.0, + 1311.0 + ] + }, + "HV 50A": { + "fuse_type": "HV 50A", + "i_rated_a": 50.0, + "t_avg": 0, + "t_min": [ + 10.0, + 3.215, + 0.597, + 0.198, + 0.1, + 0.0378, + 0.022, + 0.01 + ], + "t_total": [ + 10.0, + 3.64, + 0.854, + 0.281, + 0.1, + 0.0531, + 0.022, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 150.0, + 170.0, + 210.0, + 250.0, + 294.0, + 400.0, + 500.0, + 711.0 + ], + "x_total": [ + 300.0, + 350.0, + 450.0, + 550.0, + 700.0, + 850.0, + 1200.0, + 1752.0 + ] + }, + "HV 6.3A": { + "fuse_type": "HV 6.3A", + "i_rated_a": 6.3, + "t_avg": 0, + "t_min": [ + 10.0, + 1.39, + 0.344, + 0.168, + 0.1, + 0.056, + 0.0263, + 0.01 + ], + "t_total": [ + 10.0, + 1.711, + 0.516, + 0.198, + 0.1, + 0.0634, + 0.0303, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 19.0, + 19.5, + 20.4, + 20.8, + 22.0, + 25.0, + 32.0, + 48.0 + ], + "x_total": [ + 38.0, + 40.0, + 43.0, + 48.0, + 53.0, + 60.0, + 75.0, + 118.0 + ] + }, + "HV 63A": { + "fuse_type": "HV 63A", + "i_rated_a": 63.0, + "t_avg": 0, + "t_min": [ + 10.0, + 2.84, + 0.368, + 0.164, + 0.1, + 0.0621, + 0.0378, + 0.0195, + 0.01 + ], + "t_total": [ + 10.0, + 1.82, + 0.344, + 0.1, + 0.0467, + 0.0269, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 189.0, + 220.0, + 300.0, + 350.0, + 393.0, + 450.0, + 530.0, + 700.0, + 961.0 + ], + "x_total": [ + 378.0, + 500.0, + 700.0, + 934.0, + 1200.0, + 1500.0, + 2366.0 + ] + }, + "HV 80A": { + "fuse_type": "HV 80A", + "i_rated_a": 80.0, + "t_avg": 0, + "t_min": [ + 10.0, + 2.05, + 0.369, + 0.198, + 0.1, + 0.051, + 0.0298, + 0.01 + ], + "t_total": [ + 10.0, + 4.15, + 1.03, + 0.198, + 0.1, + 0.051, + 0.0172, + 0.01 + ], + "x_avg": 0, + "x_min": [ + 240.0, + 300.0, + 400.0, + 450.0, + 530.0, + 650.0, + 800.0, + 1311.0 + ], + "x_total": [ + 480.0, + 550.0, + 700.0, + 1000.0, + 1260.0, + 1600.0, + 2500.0, + 3227.0 + ] + }, + "Siemens NH-1-100": { + "fuse_type": "Siemens NH-1-100", + "i_rated_a": 100.0, + "t_avg": [ + 5400.0, + 2000.0, + 400.0, + 20.0, + 1.0, + 0.2, + 0.012, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 150.0, + 190.0, + 250.0, + 430.0, + 900.0, + 1250.0, + 2700.0, + 3600.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-1-125": { + "fuse_type": "Siemens NH-1-125", + "i_rated_a": 125.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.1, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 180.0, + 400.0, + 740.0, + 2000.0, + 4250.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-1-16": { + "fuse_type": "Siemens NH-1-16", + "i_rated_a": 16.0, + "t_avg": [ + 4000.0, + 400.0, + 2.0, + 0.1, + 0.04, + 0.01 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 26.0, + 35.0, + 75.0, + 150.0, + 200.0, + 300.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-1-160": { + "fuse_type": "Siemens NH-1-160", + "i_rated_a": 160.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.1, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 210.0, + 500.0, + 900.0, + 2300.0, + 5000.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-1-25": { + "fuse_type": "Siemens NH-1-25", + "i_rated_a": 25.0, + "t_avg": [ + 4000.0, + 1000.0, + 10.0, + 0.2, + 0.02, + 0.01 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 40.0, + 50.0, + 100.0, + 210.0, + 400.0, + 500.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-1-50": { + "fuse_type": "Siemens NH-1-50", + "i_rated_a": 50.0, + "t_avg": [ + 4000.0, + 40.0, + 4.0, + 1.0, + 0.02, + 0.01 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 86.0, + 200.0, + 300.0, + 400.0, + 1000.0, + 1280.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-1-63": { + "fuse_type": "Siemens NH-1-63", + "i_rated_a": 63.0, + "t_avg": [ + 4000.0, + 100.0, + 10.0, + 2.0, + 0.04, + 0.01 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 100.0, + 200.0, + 300.0, + 400.0, + 1000.0, + 1500.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-1-80": { + "fuse_type": "Siemens NH-1-80", + "i_rated_a": 80.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.1, + 0.01 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 150.58, + 250.0, + 450.0, + 1150.0, + 2470.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-2-1000": { + "fuse_type": "Siemens NH-2-1000", + "i_rated_a": 1000.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.1, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 1900.0, + 3500.0, + 8400.0, + 24000.0, + 52000.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-2-200": { + "fuse_type": "Siemens NH-2-200", + "i_rated_a": 200.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.1, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 280.0, + 650.0, + 1200.0, + 3000.0, + 7000.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-2-224": { + "fuse_type": "Siemens NH-2-224", + "i_rated_a": 224.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.2, + 0.04, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 400.0, + 750.0, + 1453.0, + 3025.0, + 4315.0, + 7600.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-2-250": { + "fuse_type": "Siemens NH-2-250", + "i_rated_a": 250.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.1, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 450.0, + 800.0, + 1650.0, + 4000.0, + 8500.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-2-315": { + "fuse_type": "Siemens NH-2-315", + "i_rated_a": 315.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.1, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 550.0, + 920.0, + 1900.0, + 5000.0, + 11000.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-2-355": { + "fuse_type": "Siemens NH-2-355", + "i_rated_a": 355.0, + "t_avg": [ + 4800.0, + 120.0, + 6.0, + 0.1, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 650.0, + 1116.27, + 2350.0, + 5840.0, + 12790.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-2-400": { + "fuse_type": "Siemens NH-2-400", + "i_rated_a": 400.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.1, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 720.0, + 1350.0, + 2800.0, + 6500.0, + 15000.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-2-425": { + "fuse_type": "Siemens NH-2-425", + "i_rated_a": 425.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.1, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 850.0, + 1500.0, + 3050.0, + 7500.0, + 16500.0 + ], + "x_min": 0, + "x_total": 0 + }, + "Siemens NH-2-630": { + "fuse_type": "Siemens NH-2-630", + "i_rated_a": 630.0, + "t_avg": [ + 4800.0, + 120.0, + 7.0, + 0.1, + 0.004 + ], + "t_min": 0, + "t_total": 0, + "x_avg": [ + 1200.0, + 2000.0, + 4800.0, + 12000.0, + 26000.0 + ], + "x_min": 0, + "x_total": 0 + } + } + }, + "res_bus": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"vm_pu\",\"va_degree\",\"p_mw\",\"q_mvar\",\"pf_vm_pu\",\"pf_va_degree\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556],\"data\":[[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,1.0,0.0],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.98842215948568,-150.167418215942376],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.900636970622961,-150.368607075089699],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.988469455850232,-150.164182704627137],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.898469422471631,-150.330319646738218],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.0,0.0],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,0.955736542961444,-150.173189984251024],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016906799176627,-149.996454635567204],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,1.016498589541443,-150.001919288778538],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,0.955430410810068,-150.164544987366781],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002448805738472,-149.920182011376397],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,1.002611391836194,-149.911062315031046],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,0.999981445530061,-149.919972348431145],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,1.000090042045449,-149.910048141414393],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998264190345333,-149.919828016548024],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046],[null,null,null,null,0.998335211407022,-149.909341457335046]]}", + "orient": "split", + "dtype": { + "vm_pu": "float64", + "va_degree": "float64", + "p_mw": "float64", + "q_mvar": "float64", + "pf_vm_pu": "float64", + "pf_va_degree": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_bus_dc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"vm_pu\",\"p_mw\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "vm_pu": "float64", + "p_mw": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_line": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_from_mw\",\"q_from_mvar\",\"p_to_mw\",\"q_to_mvar\",\"pl_mw\",\"ql_mvar\",\"i_from_ka\",\"i_to_ka\",\"i_ka\",\"vm_from_pu\",\"va_from_degree\",\"vm_to_pu\",\"va_to_degree\",\"loading_percent\",\"pf_loading\"],\"index\":[0,1,2,3,4,5,6],\"data\":[[null,null,null,null,null,null,null,null,null,null,null,null,null,null,7.880964113474624],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,121.129973506822111],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,36.44648130613917],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,22.600312687865166],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,12.271409437939337],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,11.011411210383217],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,10.556916654391383]]}", + "orient": "split", + "dtype": { + "p_from_mw": "float64", + "q_from_mvar": "float64", + "p_to_mw": "float64", + "q_to_mvar": "float64", + "pl_mw": "float64", + "ql_mvar": "float64", + "i_from_ka": "float64", + "i_to_ka": "float64", + "i_ka": "float64", + "vm_from_pu": "float64", + "va_from_degree": "float64", + "vm_to_pu": "float64", + "va_to_degree": "float64", + "loading_percent": "float64", + "pf_loading": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_line_dc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_from_mw\",\"p_to_mw\",\"pl_mw\",\"i_from_ka\",\"i_to_ka\",\"i_ka\",\"vm_from_pu\",\"vm_to_pu\",\"loading_percent\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_from_mw": "float64", + "p_to_mw": "float64", + "pl_mw": "float64", + "i_from_ka": "float64", + "i_to_ka": "float64", + "i_ka": "float64", + "vm_from_pu": "float64", + "vm_to_pu": "float64", + "loading_percent": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_trafo": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_hv_mw\",\"q_hv_mvar\",\"p_lv_mw\",\"q_lv_mvar\",\"pl_mw\",\"ql_mvar\",\"i_hv_ka\",\"i_lv_ka\",\"vm_hv_pu\",\"va_hv_degree\",\"vm_lv_pu\",\"va_lv_degree\",\"loading_percent\",\"pf_loading\"],\"index\":[0,1,2,3,4,5,6],\"data\":[[null,null,null,null,null,null,null,null,null,null,null,null,null,6.645164766087371],[null,null,null,null,null,null,null,null,null,null,null,null,null,55.316061598423246],[null,null,null,null,null,null,null,null,null,null,null,null,null,24.656208237515752],[null,null,null,null,null,null,null,null,null,null,null,null,null,9.17571727630035],[null,null,null,null,null,null,null,null,null,null,null,null,null,1.582822805736982],[null,null,null,null,null,null,null,null,null,null,null,null,null,1.241734738059468],[null,null,null,null,null,null,null,null,null,null,null,null,null,0.793422752223627]]}", + "orient": "split", + "dtype": { + "p_hv_mw": "float64", + "q_hv_mvar": "float64", + "p_lv_mw": "float64", + "q_lv_mvar": "float64", + "pl_mw": "float64", + "ql_mvar": "float64", + "i_hv_ka": "float64", + "i_lv_ka": "float64", + "vm_hv_pu": "float64", + "va_hv_degree": "float64", + "vm_lv_pu": "float64", + "va_lv_degree": "float64", + "loading_percent": "float64", + "pf_loading": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_trafo3w": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_hv_mw\",\"q_hv_mvar\",\"p_mv_mw\",\"q_mv_mvar\",\"p_lv_mw\",\"q_lv_mvar\",\"pl_mw\",\"ql_mvar\",\"i_hv_ka\",\"i_mv_ka\",\"i_lv_ka\",\"vm_hv_pu\",\"va_hv_degree\",\"vm_mv_pu\",\"va_mv_degree\",\"vm_lv_pu\",\"va_lv_degree\",\"va_internal_degree\",\"vm_internal_pu\",\"loading_percent\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_hv_mw": "float64", + "q_hv_mvar": "float64", + "p_mv_mw": "float64", + "q_mv_mvar": "float64", + "p_lv_mw": "float64", + "q_lv_mvar": "float64", + "pl_mw": "float64", + "ql_mvar": "float64", + "i_hv_ka": "float64", + "i_mv_ka": "float64", + "i_lv_ka": "float64", + "vm_hv_pu": "float64", + "va_hv_degree": "float64", + "vm_mv_pu": "float64", + "va_mv_degree": "float64", + "vm_lv_pu": "float64", + "va_lv_degree": "float64", + "va_internal_degree": "float64", + "vm_internal_pu": "float64", + "loading_percent": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_impedance": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_from_mw\",\"q_from_mvar\",\"p_to_mw\",\"q_to_mvar\",\"pl_mw\",\"ql_mvar\",\"i_from_ka\",\"i_to_ka\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_from_mw": "float64", + "q_from_mvar": "float64", + "p_to_mw": "float64", + "q_to_mvar": "float64", + "pl_mw": "float64", + "ql_mvar": "float64", + "i_from_ka": "float64", + "i_to_ka": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_ext_grid": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"pf_p\",\"pf_q\"],\"index\":[0],\"data\":[[null,null,2.671543810011751,48.357135957306021]]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "pf_p": "float64", + "pf_q": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_load": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"pf_p\",\"pf_q\"],\"index\":[0,1,2,3,4,5,6],\"data\":[[null,null,3.0,4.999999999999999],[null,null,3.0,2.22044604925031e-16],[null,null,3.0,5.0],[null,null,3.0,0.0],[null,null,2.5,1.0],[null,null,2.5,1.0],[null,null,2.5,1.0]]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "pf_p": "float64", + "pf_q": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_motor": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_sgen": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"pf_p\",\"pf_q\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10],\"data\":[[null,null,2.0,0.999999994626104],[null,null,1.999999998061674,6.77276131443495],[null,null,0.999999998752248,-0.898977282868348],[null,null,1.000000000000002,-31.237599595474926],[null,null,1.999999998022334,-9.797954717768981],[null,null,1.999999999999999,1.241117918579191],[null,null,1.0,0.620558959289595],[null,null,1.0,0.356749786456712],[null,null,2.0,0.639102635618089],[null,null,1.0,0.063330936016418],[null,null,2.0,0.332487414086192]]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "pf_p": "float64", + "pf_q": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_storage": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_shunt": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "vm_pu": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_gen": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"va_degree\",\"vm_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "va_degree": "float64", + "vm_pu": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_ward": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "vm_pu": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_xward": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"vm_pu\",\"va_internal_degree\",\"vm_internal_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "vm_pu": "float64", + "va_internal_degree": "float64", + "vm_internal_pu": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_dcline": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_from_mw\",\"q_from_mvar\",\"p_to_mw\",\"q_to_mvar\",\"pl_mw\",\"vm_from_pu\",\"va_from_degree\",\"vm_to_pu\",\"va_to_degree\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_from_mw": "float64", + "q_from_mvar": "float64", + "p_to_mw": "float64", + "q_to_mvar": "float64", + "pl_mw": "float64", + "vm_from_pu": "float64", + "va_from_degree": "float64", + "vm_to_pu": "float64", + "va_to_degree": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_asymmetric_load": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_asymmetric_sgen": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_switch": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"i_ka\",\"loading_percent\",\"p_from_mw\",\"q_from_mvar\",\"p_to_mw\",\"q_to_mvar\",\"pf_closed\",\"pf_in_service\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536],\"data\":[[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true],[null,null,null,null,null,null,true,true]]}", + "orient": "split", + "dtype": { + "i_ka": "float64", + "loading_percent": "float64", + "p_from_mw": "float64", + "q_from_mvar": "float64", + "p_to_mw": "float64", + "q_to_mvar": "float64", + "pf_closed": "object", + "pf_in_service": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_tcsc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"thyristor_firing_angle_degree\",\"x_ohm\",\"p_from_mw\",\"q_from_mvar\",\"p_to_mw\",\"q_to_mvar\",\"pl_mw\",\"ql_mvar\",\"i_ka\",\"vm_from_pu\",\"va_from_degree\",\"vm_to_pu\",\"va_to_degree\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "thyristor_firing_angle_degree": "float64", + "x_ohm": "float64", + "p_from_mw": "float64", + "q_from_mvar": "float64", + "p_to_mw": "float64", + "q_to_mvar": "float64", + "pl_mw": "float64", + "ql_mvar": "float64", + "i_ka": "float64", + "vm_from_pu": "float64", + "va_from_degree": "float64", + "vm_to_pu": "float64", + "va_to_degree": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_svc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"thyristor_firing_angle_degree\",\"x_ohm\",\"q_mvar\",\"vm_pu\",\"va_degree\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "thyristor_firing_angle_degree": "float64", + "x_ohm": "float64", + "q_mvar": "float64", + "vm_pu": "float64", + "va_degree": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_ssc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"q_mvar\",\"vm_internal_pu\",\"va_internal_degree\",\"vm_pu\",\"va_degree\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "q_mvar": "float64", + "vm_internal_pu": "float64", + "va_internal_degree": "float64", + "vm_pu": "float64", + "va_degree": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_vsc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"p_dc_mw\",\"vm_internal_pu\",\"va_internal_degree\",\"vm_pu\",\"va_degree\",\"vm_internal_dc_pu\",\"vm_dc_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "p_dc_mw": "float64", + "vm_internal_pu": "float64", + "va_internal_degree": "float64", + "vm_pu": "float64", + "va_degree": "float64", + "vm_internal_dc_pu": "float64", + "vm_dc_pu": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_bus_est": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"vm_pu\",\"va_degree\",\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "vm_pu": "float64", + "va_degree": "float64", + "p_mw": "float64", + "q_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_line_est": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_from_mw\",\"q_from_mvar\",\"p_to_mw\",\"q_to_mvar\",\"pl_mw\",\"ql_mvar\",\"i_from_ka\",\"i_to_ka\",\"i_ka\",\"vm_from_pu\",\"va_from_degree\",\"vm_to_pu\",\"va_to_degree\",\"loading_percent\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_from_mw": "float64", + "q_from_mvar": "float64", + "p_to_mw": "float64", + "q_to_mvar": "float64", + "pl_mw": "float64", + "ql_mvar": "float64", + "i_from_ka": "float64", + "i_to_ka": "float64", + "i_ka": "float64", + "vm_from_pu": "float64", + "va_from_degree": "float64", + "vm_to_pu": "float64", + "va_to_degree": "float64", + "loading_percent": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_trafo_est": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_hv_mw\",\"q_hv_mvar\",\"p_lv_mw\",\"q_lv_mvar\",\"pl_mw\",\"ql_mvar\",\"i_hv_ka\",\"i_lv_ka\",\"vm_hv_pu\",\"va_hv_degree\",\"vm_lv_pu\",\"va_lv_degree\",\"loading_percent\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_hv_mw": "float64", + "q_hv_mvar": "float64", + "p_lv_mw": "float64", + "q_lv_mvar": "float64", + "pl_mw": "float64", + "ql_mvar": "float64", + "i_hv_ka": "float64", + "i_lv_ka": "float64", + "vm_hv_pu": "float64", + "va_hv_degree": "float64", + "vm_lv_pu": "float64", + "va_lv_degree": "float64", + "loading_percent": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_trafo3w_est": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_hv_mw\",\"q_hv_mvar\",\"p_mv_mw\",\"q_mv_mvar\",\"p_lv_mw\",\"q_lv_mvar\",\"pl_mw\",\"ql_mvar\",\"i_hv_ka\",\"i_mv_ka\",\"i_lv_ka\",\"vm_hv_pu\",\"va_hv_degree\",\"vm_mv_pu\",\"va_mv_degree\",\"vm_lv_pu\",\"va_lv_degree\",\"va_internal_degree\",\"vm_internal_pu\",\"loading_percent\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_hv_mw": "float64", + "q_hv_mvar": "float64", + "p_mv_mw": "float64", + "q_mv_mvar": "float64", + "p_lv_mw": "float64", + "q_lv_mvar": "float64", + "pl_mw": "float64", + "ql_mvar": "float64", + "i_hv_ka": "float64", + "i_mv_ka": "float64", + "i_lv_ka": "float64", + "vm_hv_pu": "float64", + "va_hv_degree": "float64", + "vm_mv_pu": "float64", + "va_mv_degree": "float64", + "vm_lv_pu": "float64", + "va_lv_degree": "float64", + "va_internal_degree": "float64", + "vm_internal_pu": "float64", + "loading_percent": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_impedance_est": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_from_mw\",\"q_from_mvar\",\"p_to_mw\",\"q_to_mvar\",\"pl_mw\",\"ql_mvar\",\"i_from_ka\",\"i_to_ka\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_from_mw": "float64", + "q_from_mvar": "float64", + "p_to_mw": "float64", + "q_to_mvar": "float64", + "pl_mw": "float64", + "ql_mvar": "float64", + "i_from_ka": "float64", + "i_to_ka": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_switch_est": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"i_ka\",\"loading_percent\",\"p_from_mw\",\"q_from_mvar\",\"p_to_mw\",\"q_to_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "i_ka": "float64", + "loading_percent": "float64", + "p_from_mw": "float64", + "q_from_mvar": "float64", + "p_to_mw": "float64", + "q_to_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_shunt_est": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "vm_pu": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split", + "is_multiindex": false, + "is_multicolumn": false + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split", + "is_multiindex": false, + "is_multicolumn": false + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split", + "is_multiindex": false, + "is_multicolumn": false + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split", + "is_multiindex": false, + "is_multicolumn": false + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split", + "is_multiindex": false, + "is_multicolumn": false + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split", + "is_multiindex": false, + "is_multicolumn": false + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split", + "is_multiindex": false, + "is_multicolumn": false + }, + "res_switch_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split", + "is_multiindex": false, + "is_multicolumn": false + }, + "res_bus_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"vm_a_pu\",\"va_a_degree\",\"vm_b_pu\",\"va_b_degree\",\"vm_c_pu\",\"va_c_degree\",\"p_a_mw\",\"q_a_mvar\",\"p_b_mw\",\"q_b_mvar\",\"p_c_mw\",\"q_c_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "vm_a_pu": "float64", + "va_a_degree": "float64", + "vm_b_pu": "float64", + "va_b_degree": "float64", + "vm_c_pu": "float64", + "va_c_degree": "float64", + "p_a_mw": "float64", + "q_a_mvar": "float64", + "p_b_mw": "float64", + "q_b_mvar": "float64", + "p_c_mw": "float64", + "q_c_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_line_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_from_mw\",\"q_a_from_mvar\",\"p_b_from_mw\",\"q_b_from_mvar\",\"q_c_from_mvar\",\"p_a_to_mw\",\"q_a_to_mvar\",\"p_b_to_mw\",\"q_b_to_mvar\",\"p_c_to_mw\",\"q_c_to_mvar\",\"p_a_l_mw\",\"q_a_l_mvar\",\"p_b_l_mw\",\"q_b_l_mvar\",\"p_c_l_mw\",\"q_c_l_mvar\",\"i_a_from_ka\",\"i_a_to_ka\",\"i_b_from_ka\",\"i_b_to_ka\",\"i_c_from_ka\",\"i_c_to_ka\",\"i_a_ka\",\"i_b_ka\",\"i_c_ka\",\"i_n_from_ka\",\"i_n_to_ka\",\"i_n_ka\",\"loading_a_percent\",\"loading_b_percent\",\"loading_c_percent\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_from_mw": "float64", + "q_a_from_mvar": "float64", + "p_b_from_mw": "float64", + "q_b_from_mvar": "float64", + "q_c_from_mvar": "float64", + "p_a_to_mw": "float64", + "q_a_to_mvar": "float64", + "p_b_to_mw": "float64", + "q_b_to_mvar": "float64", + "p_c_to_mw": "float64", + "q_c_to_mvar": "float64", + "p_a_l_mw": "float64", + "q_a_l_mvar": "float64", + "p_b_l_mw": "float64", + "q_b_l_mvar": "float64", + "p_c_l_mw": "float64", + "q_c_l_mvar": "float64", + "i_a_from_ka": "float64", + "i_a_to_ka": "float64", + "i_b_from_ka": "float64", + "i_b_to_ka": "float64", + "i_c_from_ka": "float64", + "i_c_to_ka": "float64", + "i_a_ka": "float64", + "i_b_ka": "float64", + "i_c_ka": "float64", + "i_n_from_ka": "float64", + "i_n_to_ka": "float64", + "i_n_ka": "float64", + "loading_a_percent": "float64", + "loading_b_percent": "float64", + "loading_c_percent": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_trafo_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_hv_mw\",\"q_a_hv_mvar\",\"p_b_hv_mw\",\"q_b_hv_mvar\",\"p_c_hv_mw\",\"q_c_hv_mvar\",\"p_a_lv_mw\",\"q_a_lv_mvar\",\"p_b_lv_mw\",\"q_b_lv_mvar\",\"p_c_lv_mw\",\"q_c_lv_mvar\",\"p_a_l_mw\",\"q_a_l_mvar\",\"p_b_l_mw\",\"q_b_l_mvar\",\"p_c_l_mw\",\"q_c_l_mvar\",\"i_a_hv_ka\",\"i_a_lv_ka\",\"i_b_hv_ka\",\"i_b_lv_ka\",\"i_c_hv_ka\",\"i_c_lv_ka\",\"loading_a_percent\",\"loading_b_percent\",\"loading_c_percent\",\"loading_percent\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_hv_mw": "float64", + "q_a_hv_mvar": "float64", + "p_b_hv_mw": "float64", + "q_b_hv_mvar": "float64", + "p_c_hv_mw": "float64", + "q_c_hv_mvar": "float64", + "p_a_lv_mw": "float64", + "q_a_lv_mvar": "float64", + "p_b_lv_mw": "float64", + "q_b_lv_mvar": "float64", + "p_c_lv_mw": "float64", + "q_c_lv_mvar": "float64", + "p_a_l_mw": "float64", + "q_a_l_mvar": "float64", + "p_b_l_mw": "float64", + "q_b_l_mvar": "float64", + "p_c_l_mw": "float64", + "q_c_l_mvar": "float64", + "i_a_hv_ka": "float64", + "i_a_lv_ka": "float64", + "i_b_hv_ka": "float64", + "i_b_lv_ka": "float64", + "i_c_hv_ka": "float64", + "i_c_lv_ka": "float64", + "loading_a_percent": "float64", + "loading_b_percent": "float64", + "loading_c_percent": "float64", + "loading_percent": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_ext_grid_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_mw\",\"q_a_mvar\",\"p_b_mw\",\"q_b_mvar\",\"p_c_mw\",\"q_c_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_mw": "float64", + "q_a_mvar": "float64", + "p_b_mw": "float64", + "q_b_mvar": "float64", + "p_c_mw": "float64", + "q_c_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split", + "is_multiindex": false, + "is_multicolumn": false + }, + "res_load_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_sgen_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_storage_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_asymmetric_load_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_mw\",\"q_a_mvar\",\"p_b_mw\",\"q_b_mvar\",\"p_c_mw\",\"q_c_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_mw": "float64", + "q_a_mvar": "float64", + "p_b_mw": "float64", + "q_b_mvar": "float64", + "p_c_mw": "float64", + "q_c_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "res_asymmetric_sgen_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_mw\",\"q_a_mvar\",\"p_b_mw\",\"q_b_mvar\",\"p_c_mw\",\"q_c_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_mw": "float64", + "q_a_mvar": "float64", + "p_b_mw": "float64", + "q_b_mvar": "float64", + "p_c_mw": "float64", + "q_c_mvar": "float64" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "user_pf_options": { + "voltage_depend_loads": false + }, + "trafo_characteristic_table": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"id_characteristic\",\"step\",\"voltage_ratio\",\"angle_deg\",\"vk_percent\",\"vkr_percent\",\"vk_hv_percent\",\"vkr_hv_percent\",\"vk_mv_percent\",\"vkr_mv_percent\",\"vk_lv_percent\",\"vkr_lv_percent\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "id_characteristic": "object", + "step": "object", + "voltage_ratio": "object", + "angle_deg": "object", + "vk_percent": "object", + "vkr_percent": "object", + "vk_hv_percent": "object", + "vkr_hv_percent": "object", + "vk_mv_percent": "object", + "vkr_mv_percent": "object", + "vk_lv_percent": "object", + "vkr_lv_percent": "object" + }, + "is_multiindex": false, + "is_multicolumn": false + }, + "pf_converged": true + } +} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000..412cda1710 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,26 @@ +pandapower~=3.0.0.dev1 +setuptools~=75.6.0 +numpy~=2.0.2 +scipy~=1.13.1 +numba~=0.60.0 +packaging~=24.2 +lightsim2grid~=0.9.0 +pandas~=2.2.3 +pytest~=8.3.4 +geojson~=3.2.0 +psycopg2~=2.9.10 +cryptography~=44.0.0 +openpyxl~=3.1.5 +xlsxwriter~=3.2.0 +geopandas~=1.0.1 +shapely~=2.0.6 +plotly~=5.24.1 +igraph~=0.11.8 +networkx~=3.4.2 +matpowercaseframes~=1.1.0 +matplotlib~=3.10.0 +deepdiff~=8.1.1 +pyproj~=3.7.0 +lxml~=5.3.0 +ortools~=9.11.4210 +tqdm~=4.67.1 \ No newline at end of file